<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4801605395861852089</id><updated>2012-01-29T10:02:03.731-03:00</updated><title type='text'>Blog do Kazu - Dicas rápidas de Excel e afins</title><subtitle type='html'>Eventualmente dicas sobre os demais aplicativos do Office, outros programas, Windows e hardware.
Baixe aqui apostilas, arquivos e programas:
http://www.4shared.com/dir/2391193/f1b3ccd4/Compartilhado.html</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default?start-index=101&amp;max-results=100'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>225</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-328163255100906306</id><published>2012-01-22T23:56:00.000-03:00</published><updated>2012-01-22T23:57:23.911-03:00</updated><title type='text'>Criar um compromisso no Outlook</title><content type='html'>&lt;pre&gt;&lt;br /&gt;Public Function CreateAppointment(SubjectStr As String, BodyStr As String, AllDay As Boolean)&lt;br /&gt; &lt;br /&gt;     Dim OlApp                  As Outlook.Application&lt;br /&gt;     Dim Appt                   As Outlook.AppointmentItem&lt;br /&gt;    &lt;br /&gt;     Set OlApp = CreateObject("Outlook.Application")&lt;br /&gt;     Set Appt = OlApp.CreateItem(olAppointmentItem)&lt;br /&gt;    &lt;br /&gt;     Appt.Subject = SubjectStr&lt;br /&gt;     'Formato da data = mes/dia/ano&lt;br /&gt;     Appt.Start = #10/20/2011 1:00:00 PM#&lt;br /&gt;     Appt.End = #10/20/2011 2:00:00 PM#&lt;br /&gt;     'Appt.AllDayEvent = AllDay&lt;br /&gt;     Appt.Body = BodyStr&lt;br /&gt;     Appt.ReminderMinutesBeforeStart = 5&lt;br /&gt;     Appt.Save&lt;br /&gt;    &lt;br /&gt;     Set Appt = Nothing&lt;br /&gt;     Set OlApp = Nothing&lt;br /&gt;    &lt;br /&gt;End Function&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Private Sub testsub()&lt;br /&gt;     CreateAppointment "Teste", "Texto", False&lt;br /&gt;End SubCri&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-328163255100906306?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/328163255100906306/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=328163255100906306' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/328163255100906306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/328163255100906306'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2012/01/criar-um-compromisso-no-outlook.html' title='Criar um compromisso no Outlook'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8246361321953859416</id><published>2012-01-21T18:01:00.003-03:00</published><updated>2012-01-21T18:08:20.715-03:00</updated><title type='text'>Código de barras no Office</title><content type='html'>A forma mais rápida de se gerar um código de barras é simplesmente trocar a fonte do seu número para uma fonte de barras.&lt;br /&gt;Neste link, tem a fonte para o código 3 de 9, um dos mais populares e utilizados: http://www.idautomation.com/fonts/free/&lt;br /&gt;&lt;br /&gt;Lembrando que, o caracter de abertura e fechamento de leitura é o asterisco (*), ou seja, se o se código é 123456, utilize "*123456*" (sem as aspas) e troque a fonte para IDAutomationHC39M.ttf.&lt;br /&gt;&lt;br /&gt;A maioria dos leitores já vem habilitado para leitura desse código de barras, mas eventualmente se não vier, basta dar uma olhada no manual que lá tem as instruções para configurar o seu leitor.&lt;br /&gt;&lt;br /&gt;Não custa lembrar que...&lt;br /&gt;- Quem faz a leitura do código de barras é o leitor e não o programa, portanto, não existe código ou programa para leitura de código de barras neste caso;&lt;br /&gt;- Para maior segurança, é interessante acrescentar um dígito verificador. O algoritmo mais utilizado é o famoso módulo 11, facilmente encontrado na internet.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8246361321953859416?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8246361321953859416/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8246361321953859416' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8246361321953859416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8246361321953859416'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2012/01/codigo-de-barras-no-office.html' title='Código de barras no Office'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-1774187176114620856</id><published>2011-12-25T14:40:00.003-03:00</published><updated>2011-12-25T14:44:28.904-03:00</updated><title type='text'>Outlook VBA - Desanexando todos arquivos</title><content type='html'>Outro dia me deparei com uma situação diferente: ter de desanexar aproximadamente 150 arquivos/e-mails.&lt;div&gt;Adaptando um código que peguei na internet, resolvi a parada movendo todos os e-mails para uma pasta temporária, criada apenas para esta finalidade e resolvi o problema na boa.&lt;/div&gt;&lt;div&gt;Abaixo o código.&lt;/div&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Option Explicit&lt;br /&gt; &lt;br /&gt;Public Sub salvar_anexos()&lt;br /&gt;On Error GoTo erro&lt;br /&gt; &lt;br /&gt;    Dim objApp          As Outlook.Application&lt;br /&gt;    Dim pasta_outlook   As Outlook.MAPIFolder&lt;br /&gt;    Dim objItem         As Object&lt;br /&gt;    Dim arq_anexo       As Outlook.Attachment&lt;br /&gt;    Dim pasta           As String&lt;br /&gt; &lt;br /&gt;    'Pasta onde serão gravados os arquivos anexos dos emails:&lt;br /&gt;    pasta = "C:\Teste"&lt;br /&gt;   &lt;br /&gt;    Set objApp = Outlook.Application&lt;br /&gt;    Set pasta_outlook = objApp.ActiveExplorer.CurrentFolder&lt;br /&gt;   &lt;br /&gt;    If MsgBox("Deseja desanexar todos os arquivos da pasta " &amp; pasta_outlook.Name, vbYesNo) = vbNo Then Exit Sub&lt;br /&gt;   &lt;br /&gt;    For Each objItem In pasta_outlook.Items&lt;br /&gt;        DoEvents&lt;br /&gt;        'Se o objeto é do tipo email, começa a desanexar os arquivos&lt;br /&gt;        If objItem.Class = olMail Then&lt;br /&gt;            For Each arq_anexo In objItem.Attachments&lt;br /&gt;                DoEvents&lt;br /&gt;                arq_anexo.SaveAsFile pasta &amp; "\" &amp; arq_anexo.FileName&lt;br /&gt;            Next arq_anexo&lt;br /&gt;        End If&lt;br /&gt;    Next objItem&lt;br /&gt; &lt;br /&gt;    MsgBox "Processo finalizado!", vbOKOnly&lt;br /&gt;   &lt;br /&gt;    Exit Sub&lt;br /&gt; &lt;br /&gt;erro:&lt;br /&gt;    MsgBox Err.Number &amp; " - " &amp; Err.Description, vbOKOnly&lt;br /&gt;    Exit Sub&lt;br /&gt;   &lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-1774187176114620856?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/1774187176114620856/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=1774187176114620856' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1774187176114620856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1774187176114620856'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/12/outlook-vba-desanexando-todos-arquivos.html' title='Outlook VBA - Desanexando todos arquivos'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-6616181053819523649</id><published>2011-11-26T01:22:00.001-03:00</published><updated>2011-11-26T01:23:31.556-03:00</updated><title type='text'>Office nas nuvens</title><content type='html'>Ainda não estou na nuvem, mas creio que se tornará inevitável...&lt;div&gt;Link do Office365 para quem quiser conhecer:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.microsoft.com/pt-br/office365/what-is-office365.aspx"&gt;http://www.microsoft.com/pt-br/office365/what-is-office365.aspx&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-6616181053819523649?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/6616181053819523649/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=6616181053819523649' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6616181053819523649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6616181053819523649'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/11/office-nas-nuvens.html' title='Office nas nuvens'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-4356383358864069035</id><published>2011-11-26T01:18:00.003-03:00</published><updated>2011-11-26T01:20:39.625-03:00</updated><title type='text'>Coletando dados de pesquisas com o Outlook e Access</title><content type='html'>&lt;div&gt;Outro dia estava procurando uma forma de fazer uma pesquisa de satisfação por e-mail e a primeira dificuldade foi justamente criar um texto que o usuário não pudesse modificar.&lt;/div&gt;&lt;div&gt;Apesar de não chegar no modelo que queria, acabei descobrindo um recurso do Access que facilitou muito.&lt;/div&gt;&lt;div&gt;O formulário final não é lá dos melhores em termos de estética, mas cumpre sua função.&lt;/div&gt;&lt;div&gt;Segue o link para quem quiser experimentar:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://office.microsoft.com/pt-br/access-help/coleta-de-dados-por-meio-de-mensagens-de-email-HA010015427.aspx"&gt;http://office.microsoft.com/pt-br/access-help/coleta-de-dados-por-meio-de-mensagens-de-email-HA010015427.aspx&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-4356383358864069035?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/4356383358864069035/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=4356383358864069035' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4356383358864069035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4356383358864069035'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/11/coletando-dados-de-pesquisas-com-o.html' title='Coletando dados de pesquisas com o Outlook e Access'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-1670921987225709022</id><published>2011-10-21T23:38:00.001-03:00</published><updated>2011-10-21T23:40:05.915-03:00</updated><title type='text'>Mais um site legal sobre Outlook</title><content type='html'>&lt;a href="http://www.outlookcode.com/default.aspx"&gt;http://www.outlookcode.com/default.aspx&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;O foco é programação, coisa meio rara em se tratando de Outlook.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-1670921987225709022?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/1670921987225709022/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=1670921987225709022' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1670921987225709022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1670921987225709022'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/10/mais-um-site-legal-sobre-outlook.html' title='Mais um site legal sobre Outlook'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-9025606105871205809</id><published>2011-10-12T23:24:00.001-03:00</published><updated>2011-10-12T23:24:21.685-03:00</updated><title type='text'>Site de VB com dicas interessantes</title><content type='html'>Tenho a impressão de que o site não é atualizado, mas as dicas que estão lá são bem interessantes.&lt;br /&gt;Espero que não saia do ar...&lt;br /&gt;&lt;a href="http://www.codelines.com/"&gt;http://www.codelines.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Indicado pelo grande amigo Gib@.&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-9025606105871205809?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/9025606105871205809/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=9025606105871205809' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/9025606105871205809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/9025606105871205809'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/10/site-de-vb-com-dicas-interessantes.html' title='Site de VB com dicas interessantes'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-5857285653534887867</id><published>2011-10-08T21:10:00.001-03:00</published><updated>2011-10-08T21:10:14.549-03:00</updated><title type='text'>Conectando o SQL Server 2008 Express via VBA</title><content type='html'>Bem simples a conexão por ADO ao SQL Server Express 2008.&lt;br /&gt;Uma vez conectado, nada muda no resto da programação.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Option Compare Database&lt;br /&gt;Option Explicit&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Sub teste_sql()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim cnn As New ADODB.Connection&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cnn.Open "Provider=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=base_teste;Data Source=pkazu\sql_express_2008"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cnn.Execute "DELETE FROM TABELA1"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cnn.Close&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;End Sub&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-5857285653534887867?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/5857285653534887867/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=5857285653534887867' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5857285653534887867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5857285653534887867'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/10/conectando-o-sql-server-2008-express.html' title='Conectando o SQL Server 2008 Express via VBA'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-2750141719433419262</id><published>2011-09-04T01:13:00.000-03:00</published><updated>2011-09-04T01:13:09.516-03:00</updated><title type='text'>Estupidez humana</title><content type='html'>Este espaço não era para este tipo de comentário, mas me revolta ver certas notícias pela internet.&lt;br /&gt;Mais de 100 toneladas de tomate gastos em folia enquanto milhares morrem de fome é algo que não pode passar em branco.&lt;br /&gt;Ok, ninguém sobrevive só comendo tomates, mas para quem não tem absolutamente nada, um tomate é o equivalente a esperança de viver um pouco mais.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-93FbsvFu6Zo/TmL6wlPdElI/AAAAAAAAAUc/79TuHCAGpZ0/s1600/TOMATINA5_202644.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="204" src="http://3.bp.blogspot.com/-93FbsvFu6Zo/TmL6wlPdElI/AAAAAAAAAUc/79TuHCAGpZ0/s320/TOMATINA5_202644.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-4ly5FgypkOw/TmL6yndD-uI/AAAAAAAAAUg/-becaU2Iuq4/s1600/somalia_1992.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-4ly5FgypkOw/TmL6yndD-uI/AAAAAAAAAUg/-becaU2Iuq4/s1600/somalia_1992.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-2750141719433419262?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/2750141719433419262/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=2750141719433419262' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2750141719433419262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2750141719433419262'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/09/estupidez-humana.html' title='Estupidez humana'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-93FbsvFu6Zo/TmL6wlPdElI/AAAAAAAAAUc/79TuHCAGpZ0/s72-c/TOMATINA5_202644.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-4837043992472078646</id><published>2011-08-22T23:19:00.009-03:00</published><updated>2011-08-22T23:41:24.423-03:00</updated><title type='text'>Copiando texto de arquivos PDF</title><content type='html'>Esta é para tirar poeira do blog, pois faz um bom tempo que não colocado dicas aqui...&lt;br /&gt;Aliás, o blog que inicialmente era focado no Excel, agora praticamente virou blog de VBA.&lt;br /&gt;Bem, pelo menos espero que mesmo assim continue sendo útil.&lt;br /&gt;&lt;br /&gt;Vamos ao código de hoje.&lt;br /&gt;O problema:&lt;br /&gt;Precisava abrir muitos documentos PDF e selecionar apenas alguns campos para poder trabalhar com eles numa tabela do Access.&lt;br /&gt;Após uma pesquisa pela internet, verifiquei que existe pouca coisa sobre automação do Adobe via VBA que pudesse me ajudar.&lt;br /&gt;Automação com o Internet Explorer seria o óbvio, porém não existe "Select All" nem "Copy".&lt;br /&gt;Parti para a solução que não considero a melhor, porém foi o que me quebrou o galho e espero que ajude aqueles que visitarem este blog.&lt;br /&gt;Detalhe importante: os dados são copiados para um arquivo TXT e a parte de tratamento depende do documento que está sendo aberto e copiado, por isso não vou detalhar para não complicar.&lt;br /&gt;Outro detalhe importante: marcar a referência Microsoft Forms 2.0 Object Library.&lt;br /&gt;Se não estiver na lista das referências, procurar pelo arquivo FM20.dll que geralmente está em C:\Windows\System32\.&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;/span&gt;&lt;pre&gt;&lt;span class="Apple-style-span"  &gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Option Compare Database&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Option Explicit&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Dim ie          As Object&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Dim temp_area   As New DataObject&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Dim arquivo     As String&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Public Sub Pausa(ByVal segundos As Single)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Call Sleep(Int(segundos * 1000#))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;End Sub&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;'Código teste para copia de texto de arquivo PDF&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Sub IExplorer()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Open CurrentProject.Path &amp;amp; "\dados.txt" For Output As #1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Set ie = CreateObject("internetexplorer.application")&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;ie.Visible = True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;arquivo = Dir(CurrentProject.Path &amp;amp; "\*.pdf")&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Do While arquivo &amp;lt;&amp;gt; ""&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    ie.navigate CurrentProject.Path &amp;amp; "\" &amp;amp; arquivo&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    Do While ie.busy&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;        DoEvents&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    Loop&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    Pausa 2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    SendKeys "%E", True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    SendKeys "{down}", True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    SendKeys "{down}", True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    SendKeys "{down}", True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    Pausa 0.5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    SendKeys "{ENTER}", True    'Selecionar tudo&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    SendKeys "%E", True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    SendKeys "{down}", True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    Pausa 0.5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    SendKeys "{ENTER}", True    'Copiar&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    temp_area.GetFromClipboard&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    Print #1, temp_area.GetText&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    Print #1, "---------------------"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    Debug.Print arquivo&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    arquivo = Dir&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Loop&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Close #1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;ie.Quit&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;Set ie = Nothing&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;End Sub&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-4837043992472078646?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/4837043992472078646/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=4837043992472078646' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4837043992472078646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4837043992472078646'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/08/esta-e-para-tirar-poeira-do-blog-pois.html' title='Copiando texto de arquivos PDF'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-1644489344323088046</id><published>2011-07-05T02:22:00.002-03:00</published><updated>2011-07-05T02:23:53.897-03:00</updated><title type='text'>Carro personalizado</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-r9UqlS5PwIU/ThKf3lRpeKI/AAAAAAAAAUI/cynl7qXX64A/s1600/Shu.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 220px;" src="http://4.bp.blogspot.com/-r9UqlS5PwIU/ThKf3lRpeKI/AAAAAAAAAUI/cynl7qXX64A/s400/Shu.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5625734661786925218" /&gt;&lt;/a&gt;&lt;br /&gt;Este não podia ficar de fora do blog!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-1644489344323088046?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/1644489344323088046/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=1644489344323088046' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1644489344323088046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1644489344323088046'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/07/carro-personalizado.html' title='Carro personalizado'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-r9UqlS5PwIU/ThKf3lRpeKI/AAAAAAAAAUI/cynl7qXX64A/s72-c/Shu.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-4522267727510801194</id><published>2011-07-02T10:11:00.002-03:00</published><updated>2011-07-02T10:14:49.035-03:00</updated><title type='text'>Sobre o Custo Efetivo Total</title><content type='html'>Procurando a fórmula para o cálculo do C.E.T., achei no site do Banco Central do Brasil, a forma mais fácil de se chegar no valor.&lt;br /&gt;O exemplo é extremamente simples, com a HP12C cheguei nos percentuais sem problemas.&lt;br /&gt;&lt;br /&gt;http://www.bcb.gov.br/pre/bc_atende/port/custo.asp#3&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-4522267727510801194?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/4522267727510801194/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=4522267727510801194' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4522267727510801194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4522267727510801194'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/07/sobre-o-custo-efetivo-total.html' title='Sobre o Custo Efetivo Total'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-1934234970508222993</id><published>2011-04-14T00:45:00.002-03:00</published><updated>2011-04-14T00:59:06.923-03:00</updated><title type='text'>Um lembrete quando utilizar late binding</title><content type='html'>Cuidado com algumas constantes...&lt;br /&gt;Por exemplo, no Outlook VBA, o formato do texto do e-mail pode ser definido como olFormatHTML &lt;span style="font-style:italic;"&gt;desde que&lt;/span&gt; a referência à versão corrente do Outlook esteja marcada!&lt;br /&gt;No caso de late binding, lembre-se de que não há referência, portanto, neste exemplo o código retornará um erro.&lt;br /&gt;Basta trocar o "olFormatHTML" por 2 que é a constante correspondente.&lt;br /&gt;Ficaria assim:&lt;br /&gt;email.BodyFormat = 2 (late binding) e&lt;br /&gt;email.Bodyformat = olFormatHTML (early binding).&lt;br /&gt;No Help dos VBA's do Office, pode encontrar todas as constantes necessárias para o dia a dia do programador.&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-1934234970508222993?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/1934234970508222993/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=1934234970508222993' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1934234970508222993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1934234970508222993'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/04/um-lembrete-quando-utilizar-late.html' title='Um lembrete quando utilizar late binding'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-188234494288700810</id><published>2011-04-09T17:18:00.003-03:00</published><updated>2011-04-09T17:24:42.544-03:00</updated><title type='text'>Compactando via VBA</title><content type='html'>Onde pretendo aplicar esta solução, o prompt do comando é bloqueado, portanto, o Shell não funciona.&lt;br /&gt;De qualquer forma, fica aqui o código para quem quiser compactar usando o 7Zip ou WinRAR.&lt;br /&gt;Para compactar um por um, basta fazer um loop e vir trocando o nome dos arquivos, idem para as senhas.&lt;br /&gt;;-)&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Sub teste()&lt;br /&gt; Dim ret As Long&lt;br /&gt; ret = Shell("C:\Arquivos de programas\WinRAR\rar a -pteste c:\base.rar c:\base.mdb")&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub teste7z()&lt;br /&gt; Dim ret&lt;br /&gt; ret = Shell("C:\Arquivos de programas\7-Zip\7z a -pteste c:\base.7z c:\base.mdb")&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-188234494288700810?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/188234494288700810/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=188234494288700810' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/188234494288700810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/188234494288700810'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/04/compactando-via-vba.html' title='Compactando via VBA'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-7572188574091213710</id><published>2011-04-09T17:11:00.010-03:00</published><updated>2011-04-09T17:18:15.065-03:00</updated><title type='text'>Protegendo com senha os arquivos compactados pelo Windows</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-SIu56MbZq8A/TaC--TUNkvI/AAAAAAAAAT8/Uhe1iGSCQd4/s1600/001.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 322px;" src="http://1.bp.blogspot.com/-SIu56MbZq8A/TaC--TUNkvI/AAAAAAAAAT8/Uhe1iGSCQd4/s400/001.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5593680714740372210" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-a6UTqQevalo/TaC-8KBlr5I/AAAAAAAAAT0/EMAubDNHlhM/s1600/002.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 193px; height: 400px;" src="http://4.bp.blogspot.com/-a6UTqQevalo/TaC-8KBlr5I/AAAAAAAAAT0/EMAubDNHlhM/s400/002.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5593680677886603154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-KmalcbOUMI0/TaC-5gOHspI/AAAAAAAAATs/NJZA-y_19y8/s1600/003.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 150px;" src="http://4.bp.blogspot.com/-KmalcbOUMI0/TaC-5gOHspI/AAAAAAAAATs/NJZA-y_19y8/s400/003.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5593680632305136274" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-VcP3gWboSL8/TaC-zAlSjbI/AAAAAAAAATk/tKYuYg9a6Co/s1600/004.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 396px; height: 148px;" src="http://1.bp.blogspot.com/-VcP3gWboSL8/TaC-zAlSjbI/AAAAAAAAATk/tKYuYg9a6Co/s400/004.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5593680520733167026" /&gt;&lt;/a&gt;&lt;br /&gt;Poderia ser mais intuitivo, mas existe a possibilidade de proteger com senha quando se compacta um arquivo pelo próprio Windows, sem utilizar um compactador de terceiros.&lt;div&gt;Clique com o botão direito sobre o arquivo a ser compactado, selecione Enviar para &amp;gt; Pasta compactada (zipada).&lt;/div&gt;&lt;div&gt;No arquivo zipado que se criou, clique com o botão direito do mouse e clique em Explorar.&lt;/div&gt;&lt;div&gt;No menu arquivo, aparece então a opção de adicionar senha.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-7572188574091213710?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/7572188574091213710/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=7572188574091213710' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7572188574091213710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7572188574091213710'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/04/protegendo-com-senha-os-arquivos.html' title='Protegendo com senha os arquivos compactados pelo Windows'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-SIu56MbZq8A/TaC--TUNkvI/AAAAAAAAAT8/Uhe1iGSCQd4/s72-c/001.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-7589528051157081973</id><published>2011-04-09T16:28:00.003-03:00</published><updated>2011-04-09T16:34:06.376-03:00</updated><title type='text'>Compactando com senha todos os arquivos de uma pasta</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-Pgn7qgFvnLc/TaC0E2_p-_I/AAAAAAAAAS8/ZJG7iPSvzBE/s1600/zip.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://3.bp.blogspot.com/-Pgn7qgFvnLc/TaC0E2_p-_I/AAAAAAAAAS8/ZJG7iPSvzBE/s400/zip.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5593668732769139698" /&gt;&lt;/a&gt;&lt;br /&gt;Estou tentando fazer essa tarefa via VBA, mas enquanto não encontro solução... segue a dica de um compactador que faz esse trabalho, o PeaZip.&lt;br /&gt;Trabalha com vários formatos (*.7Z, *.rar, *.zip e outros), e tem versão "Portable" que funciona a partir do pendrive.&lt;br /&gt;Ainda não testei, mas aparentemente muito bom e simples de usar.&lt;div&gt;Já ia esquecendo... os arquivos são individuais, ou seja, trata-se de criar um zip para cada cada arquivo e não um zip contendo todos os arquivos!&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;http://www.peazip.org&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-7589528051157081973?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/7589528051157081973/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=7589528051157081973' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7589528051157081973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7589528051157081973'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/04/compactando-com-senha-todos-os-arquivos.html' title='Compactando com senha todos os arquivos de uma pasta'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Pgn7qgFvnLc/TaC0E2_p-_I/AAAAAAAAAS8/ZJG7iPSvzBE/s72-c/zip.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-2396515221291234121</id><published>2011-03-29T23:58:00.001-03:00</published><updated>2011-03-29T23:59:57.302-03:00</updated><title type='text'>Mais um código para obter via VBA o IP do seu computador</title><content type='html'>Com os devidos créditos nos comentários.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Option Explicit&lt;br /&gt; &lt;br /&gt;Global num_ip As String&lt;br /&gt; &lt;br /&gt;' VBA MODULE: Get all IP Addresses of your machine&lt;br /&gt;' (c) 2005 Wayne Phillips (http://www.everythingaccess.com)&lt;br /&gt;' Written 18/05/2005&lt;br /&gt;'&lt;br /&gt;' REQUIREMENTS: Windows 98 or above, Access 97 and above&lt;br /&gt;'&lt;br /&gt;' Please read the full tutorial here:&lt;br /&gt;' http://www.everythingaccess.com/tutorials.asp?ID=Get-all-IP-Addresses-of-your-machine&lt;br /&gt;'&lt;br /&gt;' Please leave the copyright notices in place.&lt;br /&gt;' Thank you.&lt;br /&gt;'&lt;br /&gt;'Option Compare Database&lt;br /&gt; &lt;br /&gt;'A couple of API functions we need in order to query the IP addresses in this machine&lt;br /&gt;Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)&lt;br /&gt;Public Declare Function GetIpAddrTable Lib "Iphlpapi" (pIPAdrTable As Byte, pdwSize As Long, ByVal Sort As Long) As Long&lt;br /&gt; &lt;br /&gt;'The structures returned by the API call GetIpAddrTable...&lt;br /&gt;Type IPINFO&lt;br /&gt;    dwAddr As Long         ' IP address&lt;br /&gt;    dwIndex As Long         ' interface index&lt;br /&gt;    dwMask As Long         ' subnet mask&lt;br /&gt;    dwBCastAddr As Long     ' broadcast address&lt;br /&gt;    dwReasmSize As Long    ' assembly size&lt;br /&gt;    Reserved1 As Integer&lt;br /&gt;    Reserved2 As Integer&lt;br /&gt;End Type&lt;br /&gt; &lt;br /&gt;Public Function ConvertIPAddressToString(longAddr As Long) As String&lt;br /&gt;   &lt;br /&gt;    Dim IPBytes(3) As Byte&lt;br /&gt;    Dim lngCount As Long&lt;br /&gt;   &lt;br /&gt;    'Converts a long IP Address to a string formatted 255.255.255.255&lt;br /&gt;    'Note: Could use inet_ntoa instead&lt;br /&gt;   &lt;br /&gt;    CopyMemory IPBytes(0), longAddr, 4 ' IP Address is stored in four bytes (255.255.255.255)&lt;br /&gt;   &lt;br /&gt;    'Convert the 4 byte values to a formatted string&lt;br /&gt;    While lngCount &lt; 4&lt;br /&gt;   &lt;br /&gt;        ConvertIPAddressToString = ConvertIPAddressToString + _&lt;br /&gt;                                    CStr(IPBytes(lngCount)) + _&lt;br /&gt;                                    IIf(lngCount &lt; 3, ".", "")&lt;br /&gt; &lt;br /&gt;        lngCount = lngCount + 1&lt;br /&gt;       &lt;br /&gt;    Wend&lt;br /&gt;   &lt;br /&gt;End Function&lt;br /&gt; &lt;br /&gt;Public Sub GetIPAddresses(Optional blnFilterLocalhost As Boolean = False)&lt;br /&gt; &lt;br /&gt;    Dim Ret As Long, Tel As Long&lt;br /&gt;    Dim bytBuffer() As Byte&lt;br /&gt;    Dim IPTableRow As IPINFO&lt;br /&gt;    Dim lngCount As Long&lt;br /&gt;    Dim lngBufferRequired As Long&lt;br /&gt;    Dim lngStructSize As Long&lt;br /&gt;    Dim lngNumIPAddresses As Long&lt;br /&gt;    Dim strIPAddress As String&lt;br /&gt; &lt;br /&gt;On Error GoTo ErrorHandler:&lt;br /&gt;   &lt;br /&gt;    Call GetIpAddrTable(ByVal 0&amp;, lngBufferRequired, 1)&lt;br /&gt; &lt;br /&gt;    If lngBufferRequired &gt; 0 Then&lt;br /&gt;    &lt;br /&gt;        ReDim bytBuffer(0 To lngBufferRequired - 1) As Byte&lt;br /&gt;    &lt;br /&gt;        If GetIpAddrTable(bytBuffer(0), lngBufferRequired, 1) = 0 Then&lt;br /&gt;    &lt;br /&gt;            'We've successfully obtained the IP Address details...&lt;br /&gt;    &lt;br /&gt;            'How big is each structure row?...&lt;br /&gt;            lngStructSize = LenB(IPTableRow)&lt;br /&gt;   &lt;br /&gt;            'First 4 bytes is a long indicating the number of entries in the table&lt;br /&gt;            CopyMemory lngNumIPAddresses, bytBuffer(0), 4&lt;br /&gt;    &lt;br /&gt;            While lngCount &lt; lngNumIPAddresses&lt;br /&gt;         &lt;br /&gt;                'bytBuffer contains the IPINFO structures (after initial 4 byte long)&lt;br /&gt;                CopyMemory IPTableRow, _&lt;br /&gt;                            bytBuffer(4 + (lngCount * lngStructSize)), _&lt;br /&gt;                            lngStructSize&lt;br /&gt;                 &lt;br /&gt;                strIPAddress = ConvertIPAddressToString(IPTableRow.dwAddr)&lt;br /&gt;                &lt;br /&gt;                If Not ((strIPAddress = "127.0.0.1") _&lt;br /&gt;                        And blnFilterLocalhost) Then&lt;br /&gt;                       &lt;br /&gt;                    'Replace this with whatever you want to do with the IP Address...&lt;br /&gt;                    num_ip = strIPAddress&lt;br /&gt;               &lt;br /&gt;                End If&lt;br /&gt;            &lt;br /&gt;                lngCount = lngCount + 1&lt;br /&gt;            &lt;br /&gt;            Wend&lt;br /&gt;        &lt;br /&gt;        End If&lt;br /&gt;       &lt;br /&gt;    End If&lt;br /&gt; &lt;br /&gt;Exit Sub&lt;br /&gt; &lt;br /&gt;ErrorHandler:&lt;br /&gt;    MsgBox "An error has occured in GetIPAddresses():" &amp; vbCrLf &amp; vbCrLf &amp; _&lt;br /&gt;            Err.Description &amp; " (" &amp; CStr(Err.Number) &amp; ")"&lt;br /&gt; &lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-2396515221291234121?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/2396515221291234121/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=2396515221291234121' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2396515221291234121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2396515221291234121'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/03/mais-um-codigo-para-obter-via-vba-o-ip.html' title='Mais um código para obter via VBA o IP do seu computador'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-6186611996593153434</id><published>2011-03-29T23:50:00.002-03:00</published><updated>2011-03-29T23:55:48.310-03:00</updated><title type='text'>Criando arquivos MDE no Access 2007 - Parte III</title><content type='html'>Apesar de ter escrito em outros lugares que não ia baixar o hotfix (achei uma falta de respeito com o consumidor não corrigir esse erro banal até o SP2), mudei de idéia e fui buscar o arquivo.&lt;br /&gt;Para minha surpresa, foi necessário cadastrar meu e-mail para receber as instruções!&lt;br /&gt;Bem, feito isso, olha só o que veio no e-mail demonstrando o pouco caso com o problema.&lt;br /&gt;&lt;br /&gt;:-(&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;INFORMAÇÕES IMPORTANTES&lt;br /&gt;&lt;br /&gt;Para sua conveniência, colocamos o hotfix solicitado em um site HTTP. Você pode baixar o hotfix desse site e com isso evitamos ocupar a sua caixa de entrada de emails.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;" &gt;AVISO Esse hotfix não foi submetido a um teste completo.&lt;/span&gt; Portanto, destina-se somente a sistemas ou computadores enfrentando o mesmo problema descrito em um ou mais artigos da Base de Dados de Conhecimento Microsoft listados no campo "Números do artigo da base de dados" da tabela que se encontra no final desta mensagem de email. Se você não tiver certeza de que algum problema específico de compatibilidade ou instalação esteja associado a esse hotfix, será recomendável aguardar pela próxima versão do service pack. O service pack incluirá uma versão totalmente testada dessa correção. Sabemos que pode ser difícil determinar se algum problema de compatibilidade ou instalação está associado a um hotfix. Assim, se desejar confirmar se o hotfix corrige o seu problema específico, ou se algum problema de compatibilidade ou instalação está a ele associado, os analistas de suporte dos Serviços de Atendimento ao Cliente poderão ajudá-lo. Para obter mais informações sobre como contatar o suporte, copie o link a seguir e cole-o no seu navegador da Web:&lt;br /&gt;&lt;br /&gt;http://support.microsoft.com/contactus/&lt;br /&gt;&lt;br /&gt;Para obter opções adicionais de suporte, copie o link a seguir e cole-o no seu navegador da Web:&lt;br /&gt;&lt;br /&gt;http://support.microsoft.com/&lt;br /&gt;&lt;br /&gt;Antes de instalar o hotfix&lt;br /&gt;------------------------------&lt;br /&gt;&lt;br /&gt;Se você decidir instalar esse hotfix, observe os itens a seguir:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" &gt;Não implante um hotfix em um ambiente de produção sem antes testá-lo. &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Faça backup do sistema ou computador que receberá o hotfix antes de instalá-lo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-6186611996593153434?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/6186611996593153434/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=6186611996593153434' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6186611996593153434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6186611996593153434'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/03/criando-arquivos-mde-no-access-2007_3226.html' title='Criando arquivos MDE no Access 2007 - Parte III'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-6761108722793474425</id><published>2011-03-29T20:48:00.002-03:00</published><updated>2011-03-29T20:53:00.293-03:00</updated><title type='text'>Criando arquivos MDE no Access 2007 - Parte II</title><content type='html'>Achei muito bom a opção de criar um arquivo MDE em vez do ACCDE no Access 2007, porém encontrei problemas...&lt;br /&gt;Um MDE criado no 2007 simplesmente não abre em outro computador!&lt;br /&gt;Gastando meu precioso tempo numa pesquisa na net, descobri que o problema é de conhecimento da Microsoft e até disponibilizou um hotfix para sanar o inconveniente.&lt;br /&gt;Inadmissível um problema tão tosco e básico, lamentável mesmo.&lt;br /&gt;&lt;br /&gt;link para o hotfix:&lt;br /&gt;http://support.microsoft.com/kb/943249&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-6761108722793474425?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/6761108722793474425/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=6761108722793474425' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6761108722793474425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6761108722793474425'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/03/criando-arquivos-mde-no-access-2007_29.html' title='Criando arquivos MDE no Access 2007 - Parte II'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3723395477535317587</id><published>2011-03-22T04:08:00.002-03:00</published><updated>2011-03-22T04:11:16.909-03:00</updated><title type='text'>Cadê os comandos do Office 2010?</title><content type='html'>Segue link com o "de -&gt; para" dos comandos do Office 2010 em relação ao 2003.&lt;br /&gt;Não sei quanto tempo o link estará no ar.&lt;br /&gt;É necessário ter o Silverlight instalado.&lt;br /&gt;Estranhamente o tutorial não roda no Chrome.&lt;br /&gt;&lt;br /&gt;http://office2010.microsoft.com/en-us/word-help/learn-where-menu-and-toolbar-commands-are-in-office-2010-HA101794130.aspx#_Toc268688374&lt;br /&gt;&lt;br /&gt;Se não estiver enganado, acho que já vi algo parecido para o Office 2007...&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3723395477535317587?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3723395477535317587/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3723395477535317587' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3723395477535317587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3723395477535317587'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/03/cade-os-comandos-do-office-2010.html' title='Cadê os comandos do Office 2010?'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-4463639059805020674</id><published>2011-03-22T03:50:00.002-03:00</published><updated>2011-03-22T03:57:59.095-03:00</updated><title type='text'>Criando arquivos MDE no Access 2007</title><content type='html'>Estava preocupado em trabalhar com o Access 2007, pois sempre criava MDE's para proteger meus códigos VBA e nesta versão, vi somente a opção de criação de ACCDE's, o equivalente do primeiro caso.&lt;br /&gt;Questionando no fórum ExpertAccess, nosso colega JPaulo indicou um texto interessante que reproduzo parte dele mais abaixo, onde descreve-se a funcionalidade de criar MDE a partir de banco de dados MDB da versão 2003 no Access 2007.&lt;br /&gt;Façam um teste.&lt;br /&gt;Criem um mdb no formato 2003 e na faixa de opções "Ferramentas de banco de dados" aparecerá o botão "criar MDE".&lt;br /&gt;Usando o formato ACCDB, na faixa de opções aparece "Criar ACCDE".&lt;br /&gt;Muito bom, tomara que na versão 2010, o recurso seja mantido.&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;Obs.: costumo colocar o link + o texto, pois frequentemente os sites são atualizados e por vezes, o link torna-se inválido. Procuro dessa forma, preservar o texto original para futuras consultas aqui.&lt;br /&gt;&lt;br /&gt;link do texto:&lt;br /&gt;http://office.microsoft.com/en-us/access-help/6-key-considerations-when-creating-access-2007-databases-HA010219005.aspx&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;trecho do texto:&lt;br /&gt;&lt;span style="font-style:italic;"&gt; TIP   In previous versions of Access this was called a Microsoft Database Executable (MDE) file. The functionality and creation process are the same. If you open an older (Access 2002 or Access 2003) MDB file in Access 2007, a Make MDE command appears in the Database Tools group on the Database Tools tab in place of the Make ACCDE command that appears when you're working in an Access 2007 database.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-4463639059805020674?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/4463639059805020674/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=4463639059805020674' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4463639059805020674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4463639059805020674'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/03/criando-arquivos-mde-no-access-2007.html' title='Criando arquivos MDE no Access 2007'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-4436463128897563323</id><published>2011-03-10T00:25:00.001-03:00</published><updated>2011-03-10T00:25:35.276-03:00</updated><title type='text'>Mais um site sobre Outlook...</title><content type='html'>... com muitas informações!!!&lt;br /&gt;http://www.outlookcode.com/&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-4436463128897563323?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/4436463128897563323/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=4436463128897563323' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4436463128897563323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4436463128897563323'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/03/mais-um-site-sobre-outlook.html' title='Mais um site sobre Outlook...'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-6002470827317938638</id><published>2011-03-07T08:18:00.003-03:00</published><updated>2011-03-07T08:30:02.490-03:00</updated><title type='text'>Agenda no Office</title><content type='html'>Tenho visto muita gente desenvolvendo uma agenda no Accesss, mas creio que "reinventar a roda" é perda de tempo.&lt;br /&gt;Segue minha opinião:&lt;br /&gt;A maioria dos computadores (para não dizer todos) que têm o Access instalado, invariavelmente têm o MS Outlook também.&lt;br /&gt;Então para que criar uma agenda no Access, se você tem no MS Outlook uma excelente agenda, totalmente funcional e completa?&lt;br /&gt;Via VBA é possível fazer os dois aplicativos interagirem entre si, obtendo assim a produtividade esperada do pacote Office.&lt;br /&gt;Falar em produtividade aqui no blog já é "chover no molhado", mas insisto no assunto para que os colegas programadores gastem menos tempo com soluções mirabolantes em VBA e entendam que a integração entre os aplicativos Office é o caminho para a produtividade.&lt;br /&gt;Quem já vem acompanhando o blog, sabe que tenho a mesma opinião quanto a criação de controle de estoque em Excel: funciona quando a quantidade de itens é pequena (eu diria que até uns 50 itens no estoque e com pouca movimentação de entradas e saídas).&lt;br /&gt;É o aplicativo inadequado para a tarefa.&lt;br /&gt;Dúvidas? Vejam o famoso Northwind que é o banco de dados exemplo que vem no Office (não sei se na versão 2010 ainda vem).&lt;br /&gt;Onde encontrar muita coisa de programação VBA no Outlook: http://www.rsoutlook.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-6002470827317938638?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/6002470827317938638/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=6002470827317938638' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6002470827317938638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6002470827317938638'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/03/agenda-no-office.html' title='Agenda no Office'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8105343120171087475</id><published>2011-03-07T08:13:00.003-03:00</published><updated>2011-03-07T08:16:42.636-03:00</updated><title type='text'>Zipando via VBA com o 7Zip</title><content type='html'>Segue uma adaptação de um código que eu peguei na internet.&lt;br /&gt;Não é de minha autoria, mas vou deixar aqui para futuras consultas.&lt;br /&gt;É bom ressaltar que o 7Zip é um compactador free e até o último comparativo que fiz, tinha uma taxa de compressão melhor que a do WinRAR.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Option Explicit&lt;br /&gt; &lt;br /&gt;Dim nome_zip        As Variant&lt;br /&gt;Dim pasta_a_zipar   As Variant&lt;br /&gt;Dim strDate         As String&lt;br /&gt;Dim Pasta_destino   As String&lt;br /&gt;Dim oApp            As Object&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Sub Zipar_tudo_com_7Zip()&lt;br /&gt;   &lt;br /&gt;    'Pasta onde estará o arquivo zipado&lt;br /&gt;    Pasta_destino = "C:\Users\todorok\Desktop\"&lt;br /&gt; &lt;br /&gt;    'Pasta que contém os arquivos a serem zipados&lt;br /&gt;    pasta_a_zipar = "C:\Users\todorok\Desktop\Kaizen\"&lt;br /&gt; &lt;br /&gt;    'Arquivo zip que contém os arquivos compactados&lt;br /&gt;    nome_zip = Pasta_destino &amp; "backup" &amp; ".zip"&lt;br /&gt; &lt;br /&gt;    'Criar um arquivo zip vazio&lt;br /&gt;    Call Novo_zip_vazio(nome_zip)&lt;br /&gt; &lt;br /&gt;    Set oApp = CreateObject("Shell.Application")&lt;br /&gt;    'Copiar os arquivos para dentro do arquivo zip vazio&lt;br /&gt;    oApp.NameSpace(nome_zip).CopyHere oApp.NameSpace(pasta_a_zipar).Items&lt;br /&gt; &lt;br /&gt;    'Aguardar o término da compactação&lt;br /&gt;    On Error Resume Next&lt;br /&gt;    Do Until oApp.NameSpace(nome_zip).Items.Count = oApp.NameSpace(pasta_a_zipar).Items.Count&lt;br /&gt;        Application.Wait (Now + TimeValue("0:00:01"))&lt;br /&gt;    Loop&lt;br /&gt;    On Error GoTo 0&lt;br /&gt; &lt;br /&gt;    MsgBox "Fim!"&lt;br /&gt;End Sub&lt;br /&gt; &lt;br /&gt;Sub Novo_zip_vazio(sPath)&lt;br /&gt;    'Se já existir um arquivo zip, apagá-lo e criar um novo&lt;br /&gt;    If Len(Dir(sPath)) &gt; 0 Then Kill sPath&lt;br /&gt;    Open sPath For Output As #1&lt;br /&gt;    Print #1, Chr$(80) &amp; Chr$(75) &amp; Chr$(5) &amp; Chr$(6) &amp; String(18, 0)&lt;br /&gt;    Close #1&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8105343120171087475?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8105343120171087475/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8105343120171087475' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8105343120171087475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8105343120171087475'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/03/zipando-via-vba-com-o-7zip.html' title='Zipando via VBA com o 7Zip'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8726981136914592437</id><published>2011-01-23T14:22:00.004-03:00</published><updated>2011-01-23T16:27:49.758-03:00</updated><title type='text'>Linguagem de programação dirigida a iniciantes</title><content type='html'>Chegou o Small Basic, uma linguagem de programação que, segundo a Microsoft, destina-se a crianças ou pessoas que desejam aprender a programar de forma simples e intuitiva.&lt;br /&gt;Ainda não instalei, mas logo farei um teste.&lt;br /&gt;Para pessoas que já têm alguma experiência, em princípio não vejo muita coisa interessante, mas o que me chamou a atenção é que o Small Basic é orientado à objetos e imagino eu que, pela sua simplicidade, deve ajudar a quem vive no mundo da orientação à eventos, aprender os novos conceitos.&lt;br /&gt;&lt;br /&gt;Links:&lt;br /&gt;Download do Small Basic:&lt;br /&gt;http://blogs.msdn.com/b/smallbasic/archive/2010/06/11/small-basic-v0-9-is-here.aspx&lt;br /&gt;&lt;br /&gt;FAQ:&lt;br /&gt;http://msdn.microsoft.com/en-us/beginner/ff384239.aspx&lt;br /&gt;&lt;br /&gt;Manuais:&lt;br /&gt;http://msdn.microsoft.com/en-us/ff423682&lt;br /&gt;Obs.: infelizmente o português BR não estava disponível no momento em que escrevia este post, mas o link para o português PT está ativo.&lt;br /&gt;&lt;br /&gt;Home do Small Basic:&lt;br /&gt;http://msdn.microsoft.com/en-us/beginner/ff384126.aspx&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8726981136914592437?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8726981136914592437/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8726981136914592437' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8726981136914592437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8726981136914592437'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/01/linguagem-de-programacao-dirigida.html' title='Linguagem de programação dirigida a iniciantes'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8832902197601702049</id><published>2011-01-23T00:06:00.003-03:00</published><updated>2011-01-23T00:17:47.756-03:00</updated><title type='text'>Verificando a versão do Excel via VBA</title><content type='html'>Esta questão foi postada num dos grupos de discussões que participo.&lt;br /&gt;A resposta é bem simples, basta usar o Application.Version que será mostrada a versão do Excel que está sendo executada.&lt;br /&gt;Abra o VBA (ALT + F11), tecle CTRL + G para abrir a janela de verificação imediata e digite Debug.Print Application.Version&lt;br /&gt;&lt;br /&gt;O resultado será:&lt;br /&gt;Versão 8 para o Excel 97&lt;br /&gt;Versão 9 para o Excel 2000&lt;br /&gt;Versão 10 para o Excel 2002&lt;br /&gt;Versão 11 para o Excel 2003&lt;br /&gt;Versão 12 para o Excel 2007&lt;br /&gt;Versão 14 para o Excel 2010&lt;br /&gt;&lt;br /&gt;A pergunta mais óbvia: cadê a versão 13?&lt;br /&gt;Se alguém souber, me mande por e-mail, apenas por curiosidade.&lt;br /&gt;Certamente, a necessidade de verificar a versão deve-se a alguma incompatibilidade de comandos entre a versão onde foi desenvolvido e a versão onde será executado o programa.&lt;br /&gt;Nestes casos, minha recomendação também é simples:&lt;br /&gt;Se você sabe que tem mais de uma versão do Excel instalado na sua empresa, desenvolva sempre para a versão mais antiga e use sempre que possível, &lt;span style="font-style:italic;"&gt;late binding&lt;/span&gt; para evitar problemas com referências aos outros aplicativos do MS Office.&lt;br /&gt;A pequena perda de performance no &lt;span style="font-style:italic;"&gt;late binding&lt;/span&gt; é praticamente imperceptível, visto que os PC's atuais são bem rápidos e raramente aplicações desenvolvidas no Excel têm a performance como foco principal.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8832902197601702049?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8832902197601702049/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8832902197601702049' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8832902197601702049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8832902197601702049'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2011/01/verificando-versao-do-excel-via-vba.html' title='Verificando a versão do Excel via VBA'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-7097088376116742678</id><published>2010-12-19T18:55:00.002-03:00</published><updated>2010-12-19T19:05:49.586-03:00</updated><title type='text'>Mais uma opção ao Microsoft Office</title><content type='html'>Tirando o BrOffice, acho que a falta de sucesso de outras suítes vem justamente de seus maiores objetivos: tentarem se parecer com o Microsoft Office.&lt;br /&gt;Talvez algum desenvolvedor ainda tenha uma super idéia, faça algo realmente diferente e quem sabe, chame mais a atenção dos usuários em geral.&lt;br /&gt;&lt;br /&gt;Link para quem quiser experimentar:&lt;br /&gt;http://product.thinkfree.com/office&lt;br /&gt;&lt;br /&gt;A propósito, +/- U$ 50.&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-7097088376116742678?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/7097088376116742678/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=7097088376116742678' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7097088376116742678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7097088376116742678'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/12/mais-uma-opcao-ao-microsoft-office.html' title='Mais uma opção ao Microsoft Office'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8420511369174727231</id><published>2010-12-09T21:56:00.002-03:00</published><updated>2010-12-09T22:02:04.073-03:00</updated><title type='text'>Uma "outra" opção em suíte Office livre - LIBRE OFFICE</title><content type='html'>Outra entre aspas porque me parece ser o BrOffice, "largado" pela Sun e continuado pelos fundadores do antigo projeto.&lt;br /&gt;Ainda não testei, fica para outra ocasião e depois eu coloco aqui as impressões.&lt;br /&gt;No time que toca o projeto, um brazuca, Claudio Filho que dentre outras coisas, co-fundou a comunidade BROffice.org.&lt;br /&gt;&lt;br /&gt;Link:&lt;br /&gt;http://www.documentfoundation.org/&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8420511369174727231?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8420511369174727231/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8420511369174727231' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8420511369174727231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8420511369174727231'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/12/uma-outra-opcao-em-suite-office-livre.html' title='Uma &quot;outra&quot; opção em suíte Office livre - LIBRE OFFICE'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-6949646858748980467</id><published>2010-12-06T22:46:00.001-03:00</published><updated>2010-12-06T22:47:56.028-03:00</updated><title type='text'>Conectando o Excel 2007 via ADO</title><content type='html'>&lt;pre&gt;&lt;br /&gt;Sub ado_2007()&lt;br /&gt;   Dim cnn As New ADODB.Connection&lt;br /&gt;&lt;br /&gt;   cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\teste_ado.xlsx;" &amp;amp; _&lt;br /&gt;       "Extended Properties=" &amp;amp; Chr(34) &amp;amp; "Excel 12.0;HDR=Yes" &amp;amp; Chr(34)&lt;br /&gt;&lt;br /&gt;   cnn.Open&lt;br /&gt;   cnn.Close&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-6949646858748980467?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/6949646858748980467/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=6949646858748980467' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6949646858748980467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6949646858748980467'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/12/conectando-o-excel-2007-via-ado.html' title='Conectando o Excel 2007 via ADO'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3856739539208132475</id><published>2010-11-13T13:07:00.003-03:00</published><updated>2010-11-13T13:14:29.166-03:00</updated><title type='text'>Separar planilhas</title><content type='html'>Esta é uma tarefa que sempre aparece nos grupos de discussão: dividir uma planilha a partir de um campo como critério.&lt;br /&gt;Por exemplo, a partir de planilha de vendas onde estão os dados de todos os vendedores, criar uma nova planilha para cada vendedor.&lt;br /&gt;Muitas soluções criativas já foram propostas e eu vou deixar a minha aqui.&lt;br /&gt;Fiz em Access pela facilidades que o aplicativo oferece.&lt;br /&gt;&lt;br /&gt;Baixem o aplicativo no link, na pasta "Exemplos Excel" (apesar de ser em Access...).&lt;br /&gt;O código está aberto para quem quiser melhorar ou personalizar, basta abrir segurando a tecla shift.&lt;br /&gt;&lt;br /&gt;http://www.4shared.com/dir/jufLzdx2/Compartilhado.html&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3856739539208132475?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3856739539208132475/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3856739539208132475' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3856739539208132475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3856739539208132475'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/11/separar-planilhas.html' title='Separar planilhas'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-1601580284436986588</id><published>2010-11-07T22:36:00.002-03:00</published><updated>2010-11-07T22:45:41.695-03:00</updated><title type='text'>MariaDB</title><content type='html'>Um nome incomum e curioso, mas acreditem, é um banco de dados.&lt;br /&gt;Criado pelos desenvolvedores do MySQL que não se deram bem com a Sun Microsystems, parece ser algo promissor, exatamente na contramão do MySQL, que neste momento aparenta estar com o futuro obscuro e incerto.&lt;br /&gt;&lt;br /&gt;http://www.maria.org&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-1601580284436986588?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/1601580284436986588/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=1601580284436986588' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1601580284436986588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1601580284436986588'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/11/mariadb.html' title='MariaDB'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3488535125613062689</id><published>2010-11-04T00:34:00.002-03:00</published><updated>2010-11-04T00:35:48.642-03:00</updated><title type='text'>Verificando o tamanho das pastas e listando no Excel</title><content type='html'>&lt;pre&gt;&lt;span class="Apple-style-span"&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;Option Explicit&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;Dim objFSO      As Object&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;Dim pasta       As Object&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;Dim subpasta    As Object&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;Dim linha       As Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;Dim diretorio   As String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;Dim UserFile    As String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;Private Sub cmd_verifica_Click()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    UserFile = GetDirectory("Selecione a pasta")&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    If UserFile = "" Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        Exit Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    Else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        Me.MousePointer = fmMousePointerHourGlass&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        Call subpastas(UserFile)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        Me.MousePointer = fmMousePointerDefault&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        Unload Me&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    End If&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;Sub subpastas(diretorio As String)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    Set objFSO = CreateObject("Scripting.FileSystemObject")&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    Set pasta = objFSO.GetFolder(diretorio)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    Set subpasta = pasta.SubFolders&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    ActiveSheet.Range("A1").CurrentRegion.Clear&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    linha = 2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    ActiveSheet.Cells(1, 1) = "Nome da pasta"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    ActiveSheet.Cells(1, 2) = "Tamanho"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    For Each pasta In subpasta&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        DoEvents&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        ActiveSheet.Cells(linha, 1) = Mid(diretorio, 3, 99) &amp;amp; "\" &amp;amp; pasta.Name&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        ActiveSheet.Cells(linha, 2) = pasta.Size&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        linha = linha + 1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    Next&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    ActiveSheet.Columns("A:B").AutoFit&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    ActiveSheet.Range("B:B").NumberFormat = "#,##0"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    Call classifica&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    ActiveSheet.Cells(1, 1).Select&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;Sub classifica()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    Columns("A:B").Select&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    ActiveSheet.Sort.SortFields.Clear&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    ActiveSheet.Sort.SortFields.Add Key:=Range("B2:B100"), _&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    With ActiveSheet.Sort&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        .SetRange Range("A1:B100")&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        .Header = xlYes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        .MatchCase = False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        .Orientation = xlTopToBottom&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        .SortMethod = xlPinYin&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;        .Apply&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;    End With&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; "&gt;&lt;span class="Apple-style-span"   &gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="ecxMsoNormal" style="line-height: 19px; margin-top: 0px; margin-right: 0px; margin-bottom: 0.0001pt; margin-left: 0px; font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(42, 42, 42); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3488535125613062689?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3488535125613062689/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3488535125613062689' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3488535125613062689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3488535125613062689'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/11/verificando-o-tamanho-das-pastas-e.html' title='Verificando o tamanho das pastas e listando no Excel'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-2218933902337355756</id><published>2010-10-31T19:29:00.004-03:00</published><updated>2010-10-31T19:37:44.514-03:00</updated><title type='text'>Preço de software</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UimvP7Ic-vQ/TM3vTzhxLuI/AAAAAAAAASc/39wcnOHnvMY/s1600/imagem.JPG"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="http://4.bp.blogspot.com/_UimvP7Ic-vQ/TM3vTzhxLuI/AAAAAAAAASc/39wcnOHnvMY/s400/imagem.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5534342640636604130" /&gt;&lt;/a&gt;&lt;br /&gt;Sempre fui um crítico dos preços de software no Brasil.&lt;div&gt;Continuo achando caríssimo um Windows ou um Office com Access para pessoa física.&lt;/div&gt;&lt;div&gt;Se o Windows é o sistema operacional mais vendido no mundo inteiro, por que é o mais caro?&lt;/div&gt;&lt;div&gt;Vejam na imagem por exemplo, a versão de desenvolvedor do SQL Server, um super banco de dados corporativo. Coloquei a imagem para que ninguém pense que eu errei na digitação...&lt;/div&gt;&lt;div&gt;Lembro-me quando eu comprei o Windows 95 Update (para atualizar a partir do Win 3.11) e paguei algo em torno do que seria hoje uns R$ 70,00.&lt;/div&gt;&lt;div&gt;Isso sim era um preço justo, ainda mais considerando que naquela época, os PC's eram extremamente caros e com preços em dólar!&lt;/div&gt;&lt;div&gt;Será que o Windows e Office precisam ser tão caros assim?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-2218933902337355756?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/2218933902337355756/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=2218933902337355756' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2218933902337355756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2218933902337355756'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/10/preco-de-software.html' title='Preço de software'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UimvP7Ic-vQ/TM3vTzhxLuI/AAAAAAAAASc/39wcnOHnvMY/s72-c/imagem.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8624219388033996639</id><published>2010-10-10T13:40:00.004-03:00</published><updated>2010-10-10T13:45:29.688-03:00</updated><title type='text'>Contrato de desenvolvimento de software</title><content type='html'>Esta é uma dúvida frequente na comunidade, principalmente para quem está começando ou está deixando de desenvolver para a empresa onde trabalha ou ainda está fazendo um "extra" paralelamente ao seu emprego.&lt;div&gt;Seguem links interessantes, onde o colega Avelino Sampaio do fórum ExpertAccess nos indica links muito interessantes, vale a pena dar uma olhada:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.expertaccess.com.br/forumnew/forum_posts.asp?TID=23055&amp;amp;PID=115031#115031"&gt;http://www.expertaccess.com.br/forumnew/forum_posts.asp?TID=23055&amp;amp;PID=115031#115031&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.usandoaccess.com.br/blog/blog6.asp?id=1#inicio"&gt;http://www.usandoaccess.com.br/blog/blog6.asp?id=1#inicio&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.usandoaccess.com.br/tutoriais/tuto26.asp?id=1#inicio"&gt;http://www.usandoaccess.com.br/tutoriais/tuto26.asp?id=1#inicio&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8624219388033996639?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8624219388033996639/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8624219388033996639' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8624219388033996639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8624219388033996639'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/10/contrato-de-desenvolvimento-de-software.html' title='Contrato de desenvolvimento de software'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-7603925124638998886</id><published>2010-10-05T01:00:00.003-03:00</published><updated>2010-10-05T01:07:19.799-03:00</updated><title type='text'>Utilitários para o Excel</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UimvP7Ic-vQ/TKqkWbFh0UI/AAAAAAAAASU/neqSCIDI3B4/s1600/imagem.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 293px;" src="http://3.bp.blogspot.com/_UimvP7Ic-vQ/TKqkWbFh0UI/AAAAAAAAASU/neqSCIDI3B4/s400/imagem.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5524408598058357058" /&gt;&lt;/a&gt;&lt;br /&gt;Título estranho, mas é isso mesmo: utilitários para o Excel.&lt;div&gt;Várias ferramentas para quem não quer ser aventurar em macros/VBA e precisa de coisas simples do tipo "clica no botão e pronto".&lt;/div&gt;&lt;div&gt;Obviamente precisa pagar, mas os preços não são tão altos.&lt;/div&gt;&lt;div&gt;O que eu achei mais interessante pela descrição é o Excel Tool SQL Query por U$ 28.&lt;/div&gt;&lt;div&gt;Vale a pena dar uma olhada, apenas a título de curiosidade.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;http://www.excel-tool.com/&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-7603925124638998886?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/7603925124638998886/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=7603925124638998886' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7603925124638998886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7603925124638998886'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/10/utilitarios-para-o-excel.html' title='Utilitários para o Excel'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UimvP7Ic-vQ/TKqkWbFh0UI/AAAAAAAAASU/neqSCIDI3B4/s72-c/imagem.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3623831457155837528</id><published>2010-10-01T23:35:00.003-03:00</published><updated>2010-10-01T23:45:19.587-03:00</updated><title type='text'>O que há de novo no Excel 2010</title><content type='html'>Sinceramente ainda não vi nada que merecesse algum comentário mais detalhado, exemplos ou demonstrações.&lt;div&gt;O Office 2010 acrescentou vários recursos que, apesar de interessantes, vão atender apenas a minoria dos usuários.&lt;/div&gt;&lt;div&gt;Continuo com a opinião de que, para grande parte das pessoas, o Excel 97 ainda é mais que suficiente. A migração para versões mais recentes ocorreram por uma questão de compatibilidade de arquivos ou por curiosidade pela novidade.&lt;/div&gt;&lt;div&gt;Eu mesmo sou usuário do Office 2007 no trabalho e em casa uso o 2003. &lt;/div&gt;&lt;div&gt;Para contornar a questão da compatibilidade, instalei o suplemento oferecido pela Microsoft no seu site de downloads.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Enfim, futuramente devo comentar alguma coisa sobre o Excel 2010.&lt;/div&gt;&lt;div&gt;O único comentário direto é o preço: em torno dos R$ 1.500,00 (versão Professional, outubro/2010), ainda é extremamente caro para o usuário doméstico.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3623831457155837528?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3623831457155837528/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3623831457155837528' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3623831457155837528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3623831457155837528'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/10/o-que-ha-de-novo-no-excel-2010.html' title='O que há de novo no Excel 2010'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-2346437700542166027</id><published>2010-10-01T23:17:00.003-03:00</published><updated>2010-10-01T23:18:32.017-03:00</updated><title type='text'>Conectando o Access 2007 via VBA</title><content type='html'>Vou deixar um código aqui que postei em outro fórum, onde um colega queria saber como conectar o ADO numa base Access 2007.&lt;div&gt;Basta trocar o Provider, que até o 2003 era o Jet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;div&gt;Option Compare Database&lt;br /&gt;Option Explicit&lt;/div&gt;&lt;div&gt;Dim rst As ADODB.Recordset&lt;br /&gt;Dim cnn As ADODB.Connection&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Sub teste()&lt;br /&gt;    Set cnn = New ADODB.Connection&lt;br /&gt;    Set rst = New ADODB.Recordset&lt;br /&gt;    cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\banco.accdb"&lt;br /&gt;   &lt;br /&gt;    rst.Open "Select * FROM TABELA1", cnn, adOpenKeyset, adLockOptimistic&lt;br /&gt;   &lt;br /&gt;    MsgBox rst(0)&lt;br /&gt;   &lt;br /&gt;    rst.Close&lt;br /&gt;    cnn.Close&lt;/div&gt;&lt;div&gt;End Sub&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-2346437700542166027?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/2346437700542166027/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=2346437700542166027' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2346437700542166027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2346437700542166027'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/10/conectando-o-access-2007-via-vba.html' title='Conectando o Access 2007 via VBA'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-430394255994956271</id><published>2010-07-25T23:06:00.005-03:00</published><updated>2010-07-25T23:27:41.081-03:00</updated><title type='text'>"Fernando (Alonso) é mais rápido que você, confirme que você entendeu a mensagem!</title><content type='html'>Mensagem do engenheiro de Felipe Massa, Rob Smedley, no GP da Alemanha neste domingo, 25/07/2010.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;O Massa entendeu, nós entendemos, o mundo inteiro entendeu.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;i&gt;&lt;b&gt;Infelizmente.&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UimvP7Ic-vQ/TEzuGyD3ZuI/AAAAAAAAASE/44cGkY2y1Fc/s1600/F1.jpg"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UimvP7Ic-vQ/TEzuAjpHtdI/AAAAAAAAAR8/GTW-J0Hbz2c/s1600/F1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 225px; height: 225px;" src="http://4.bp.blogspot.com/_UimvP7Ic-vQ/TEzuAjpHtdI/AAAAAAAAAR8/GTW-J0Hbz2c/s400/F1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5498030938447656402" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-430394255994956271?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/430394255994956271/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=430394255994956271' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/430394255994956271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/430394255994956271'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/07/fernando-alonso-e-mais-rapido-que-voce.html' title='&quot;Fernando (Alonso) é mais rápido que você, confirme que você entendeu a mensagem!'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UimvP7Ic-vQ/TEzuAjpHtdI/AAAAAAAAAR8/GTW-J0Hbz2c/s72-c/F1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8527812872676659229</id><published>2010-07-10T17:54:00.002-03:00</published><updated>2010-07-10T17:57:21.064-03:00</updated><title type='text'>Blog de vagas e oportunidades</title><content type='html'>Blog do grande amigo Gian Carlos, sempre disposto a ajudar as pessoas.&lt;div&gt;Recomendo!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman', 'new york', times, serif;"&gt;&lt;a rel="nofollow" target="_blank" href="http://goanca.wordpress.com/"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;http://goanca.wordpress.com/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8527812872676659229?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8527812872676659229/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8527812872676659229' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8527812872676659229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8527812872676659229'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/07/blog-de-vagas-e-oportunidades.html' title='Blog de vagas e oportunidades'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8894044627976815899</id><published>2010-07-09T22:01:00.004-03:00</published><updated>2010-07-09T22:05:02.380-03:00</updated><title type='text'>Criar email via VBA no Outlook - late binding</title><content type='html'>Mais óbvio e simples impossível.&lt;br /&gt;Não esquecer:&lt;br /&gt;- Que na hora do "Send", o Outlook vai dar um aviso de que outro programa está tentando enviar mensagens;&lt;br /&gt;- O Outlook deve estar aberto na hora da execução do código.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Sub email()&lt;br /&gt;&lt;br /&gt;Set olapp = CreateObject("Outlook.Application")&lt;br /&gt;olapp.Session.Logon&lt;br /&gt;&lt;br /&gt;Set mensagem = olapp.CreateItem(0)&lt;br /&gt;With mensagem&lt;br /&gt;  .To = ""&lt;br /&gt;  .CC = ""&lt;br /&gt;  .BCC = ""&lt;br /&gt;  .Subject = ""&lt;br /&gt;  .Body = ""&lt;br /&gt;  .display&lt;br /&gt;  .Send&lt;br /&gt;End With&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8894044627976815899?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8894044627976815899/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8894044627976815899' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8894044627976815899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8894044627976815899'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/07/criar-email-via-vba-no-outlook-late.html' title='Criar email via VBA no Outlook - late binding'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-7496686231582169256</id><published>2010-06-14T00:49:00.003-03:00</published><updated>2010-06-14T01:02:36.549-03:00</updated><title type='text'>Sobre o limite de 2Gb no Access</title><content type='html'>Muita gente se apavora quando o seu mdb chega perto dos 2Gb e logo vai pensando em migrar para outro banco de dados.&lt;br /&gt;Meu recado para os colegas:&lt;br /&gt;O limite de 2Gb é para 1(um) mdb. Nada impede que se coloque tabelas em outros mdb's e se trabalhe com as mesmas vinculadas.&lt;br /&gt;Utilizando-se esse recurso do Access, o limite praticamente deixa de existir, pois basta distribuir as tabelas de forma que cada mdb fique dentro dos 2Gb.&lt;br /&gt;Importante lembrar que os 2Gb são para os dados e os objetos de sistema.&lt;br /&gt;Na prática, o que se tem de espaço para dados são 2Gb menos os objetos de sistema.&lt;br /&gt;Recomendo nunca ultrapassar 1,5Gb de mdb. Pode parecer conservador demais, mas já tive mdb's que quando chegaram a 1,9Gb começaram a dar problemas, desde então, passei a trabalhar tranquilamente dentro dos 1,5Gb.&lt;br /&gt;Ainda penso que SQL Server Express + Access é uma dupla imbatível para desenvolver aplicações com bancos de dados.&lt;br /&gt;O Access é uma ferramenta de desenvolvimento praticamente completa, só faltava gerar executáveis. Além disso, não tem outro aplicativo no mercado com um gerador de relatórios tão completo como o do Access.&lt;br /&gt;VBA então nem se fala, muito fácil de usar.&lt;br /&gt;Front End feito no Access e banco de dados no já sabidamente estável, confiável e robusto SQL Server atendem muito bem as aplicações corriqueiras de pequeno/médio porte.&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;p.s. Nem pensem em fazer banco de dados em Excel, ele não foi criado para essa finalidade!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-7496686231582169256?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/7496686231582169256/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=7496686231582169256' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7496686231582169256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7496686231582169256'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/06/sobre-o-limite-de-2gb-no-access.html' title='Sobre o limite de 2Gb no Access'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8561232604514272480</id><published>2010-06-14T00:42:00.002-03:00</published><updated>2010-06-14T00:48:44.104-03:00</updated><title type='text'>Office 2010</title><content type='html'>Creio que até o momento desta postagem, o Office 2010 ainda não foi lançado aqui no Brasil, mas dando uma olhada geral pela internet, notei que o botão "Office" (aquele redondo no canto superior esquerdo da tela do Office 2007) ... sumiu!&lt;br /&gt;No lugar dele, agora temos de volta o item de menu "Arquivo" ou "File".&lt;br /&gt;Após o lançamento oficial, eu volto a comentar sobre o assunto, pois pelo que sei, as versões que estão por aí, são beta's e portanto passíveis de mudanças.&lt;br /&gt;Você já devem ter visto um comentário que postei aqui no blog, falando sobre a complicação que é a nova "faixa de opções", que até agora não vejo lógica nenhuma no agrupamento de comandos.&lt;br /&gt;Quem sabe o "sumiço" do botão Office não seja uma volta às origens, afinal o que há de mal em voltar atrás numa idéia infeliz???&lt;br /&gt;&lt;br /&gt;;-))))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8561232604514272480?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8561232604514272480/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8561232604514272480' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8561232604514272480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8561232604514272480'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/06/office-2010.html' title='Office 2010'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-5357374036872794657</id><published>2010-06-14T00:27:00.002-03:00</published><updated>2010-06-14T00:32:01.109-03:00</updated><title type='text'>Comentários no código VBA</title><content type='html'>Comentar o código é sempre uma boa prática para auxiliar em futuras manutenções, sejam elas feitas por você mesmo ou por terceiros.&lt;br /&gt;O usual é usar um apóstrofe antes da linha do comentário, mas relembrando do bom e velho Visual Basic do meu TK 83, vi que o comando REM ("remarks") funciona também!&lt;br /&gt;Único porém é que ele só serve quando está no início da linha (o apóstrofe funciona em comnetários na mesma linha após o código).&lt;br /&gt;Exemplo:&lt;br /&gt;&lt;br /&gt;'Este é um comentário&lt;br /&gt;REM segunda linha do comentário&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-5357374036872794657?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/5357374036872794657/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=5357374036872794657' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5357374036872794657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5357374036872794657'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/06/comentarios-no-codigo-vba.html' title='Comentários no código VBA'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-6584209694328906504</id><published>2010-06-05T21:53:00.003-03:00</published><updated>2010-06-05T21:56:12.502-03:00</updated><title type='text'>CASE no SQL do Access</title><content type='html'>Estranho escrever "sql do Access", pois SQL deveria ser uma linguagem comum aos banco de dados...&lt;br /&gt;Enfim, outro dia eu precisei usar um CASE no Access e depois de algumas tentativas vi que não funcionava.&lt;br /&gt;Após uma pesquisa pela net, descobri que não funciona mesmo e que é preciso usar um "Switch".&lt;br /&gt;Dá mais trabalho para escrever, mas funciona.&lt;br /&gt;Alguns dirão "é óbvio, você não sabia disso?".&lt;br /&gt;Pois é, eu não sabia e agora estou sabendo!&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;SELECT&lt;br /&gt;    SWITCH&lt;br /&gt;    (&lt;br /&gt;        PRODUTO = 1, 'PRIMEIRO',&lt;br /&gt;        PRODUTO = 2, 'SEGUNDO'&lt;br /&gt;                ) AS PRODUTO,&lt;br /&gt;FROM TABELA&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-6584209694328906504?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/6584209694328906504/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=6584209694328906504' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6584209694328906504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6584209694328906504'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/06/case-no-sql-do-access.html' title='CASE no SQL do Access'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-93461963798266458</id><published>2010-05-20T23:08:00.009-03:00</published><updated>2010-05-20T23:15:48.200-03:00</updated><title type='text'>Manipulando a área de transferência do Windows (ClipBoard)</title><content type='html'>Requisito:&lt;br /&gt;Marcar a referência "Microsoft Forms Object Library".&lt;br /&gt;Se tiver um form no VBA, a referência estará automaticamente marcada.&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;font size = "3"&gt;&lt;br /&gt;&lt;br /&gt;Dim area As DataObject&lt;br /&gt;Dim texto As String&lt;br /&gt;&lt;br /&gt;Sub colar_da_area_de_transferencia()&lt;br /&gt;  &lt;br /&gt;   Dim temp_area As New DataObject&lt;br /&gt;   temp_area.GetFromClipboard&lt;br /&gt;   MsgBox temp_area.GetText&lt;br /&gt;  &lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub limpa_area_transferencia()&lt;br /&gt;&lt;br /&gt;   Dim temp_area As New DataObject&lt;br /&gt;   temp_area.SetText ""&lt;br /&gt;   temp_area.PutInClipboard&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub copiar_para_area_de_transferencia()&lt;br /&gt;&lt;br /&gt;   Dim temp_area As New DataObject&lt;br /&gt;   temp_area.SetText "Texto"&lt;br /&gt;   temp_area.PutInClipboard&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-93461963798266458?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/93461963798266458/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=93461963798266458' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/93461963798266458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/93461963798266458'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/05/manipulando-area-de-transferencia-do.html' title='Manipulando a área de transferência do Windows (ClipBoard)'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-639427875563499648</id><published>2010-05-17T23:05:00.003-03:00</published><updated>2010-05-17T23:07:19.543-03:00</updated><title type='text'>Desvio padrão em VBA</title><content type='html'>Escrito no Excel, mas facilmente adaptável aos outros aplicativos do Office.&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Option Explicit&lt;br /&gt; &lt;br /&gt;' variáveis para cálculo do desvio padrão&lt;br /&gt;'========================================&lt;br /&gt;Dim valores()      As Double&lt;br /&gt;Dim desvio_padrao  As Double&lt;br /&gt;Dim qtd_valores    As Integer&lt;br /&gt;Dim soma           As Double&lt;br /&gt;Dim soma_1         As Double&lt;br /&gt;Dim i              As Integer&lt;br /&gt;Dim media          As Double&lt;br /&gt;'========================================&lt;br /&gt;&lt;br /&gt;'Cálculo de desvio padrão&lt;br /&gt;'Exemplo para valores na coluna A a partir de A1&lt;br /&gt;'Os valores devem estar em células contíguas&lt;br /&gt;'Resultado em B1&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Sub calcular()&lt;br /&gt; &lt;br /&gt;     qtd_valores = Range("A1").CurrentRegion.Rows.Count&lt;br /&gt;     ReDim valores(qtd_valores)&lt;br /&gt; &lt;br /&gt;     For i = 1 To qtd_valores&lt;br /&gt;          valores(i) = Sheets("plan1").Cells(i, 1)&lt;br /&gt;     Next i&lt;br /&gt;    &lt;br /&gt;     desvio_padrao = f_desvio_padrao(qtd_valores, valores)&lt;br /&gt;     Sheets("plan1").Cells(1, 4) = "Desvio Padrão = " &amp; desvio_padrao&lt;br /&gt; &lt;br /&gt;End Sub&lt;br /&gt; &lt;br /&gt;Function f_media(ByVal x As Long, valores() As Double)&lt;br /&gt;    &lt;br /&gt;     soma = 0&lt;br /&gt;     For i = 1 To x&lt;br /&gt;         soma = soma + valores(i)&lt;br /&gt;     Next i&lt;br /&gt; &lt;br /&gt;     f_media = soma / x&lt;br /&gt; &lt;br /&gt;End Function&lt;br /&gt; &lt;br /&gt;Function f_desvio_padrao(ByVal qtd_valores As Integer, valores() As Double)&lt;br /&gt; &lt;br /&gt;     soma_1 = 0&lt;br /&gt;     media = f_media(qtd_valores, valores)&lt;br /&gt;     For i = 1 To qtd_valores&lt;br /&gt;          soma_1 = soma_1 + (valores(i) - media) ^ 2&lt;br /&gt;     Next i&lt;br /&gt; &lt;br /&gt;     f_desvio_padrao = Sqr(soma_1 / (qtd_valores - 1))&lt;br /&gt; &lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-639427875563499648?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/639427875563499648/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=639427875563499648' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/639427875563499648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/639427875563499648'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/05/desvio-padrao-em-vba.html' title='Desvio padrão em VBA'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-4604812983817640795</id><published>2010-05-16T23:03:00.002-03:00</published><updated>2010-05-16T23:05:45.367-03:00</updated><title type='text'>Selecionar arquivo via caixa de diálogo - WORD VBA</title><content type='html'>É... de vez em quando eu faço alguma coisa no VBA do Word...&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Dim fd          As FileDialog&lt;br /&gt;dim arquivo  As String&lt;br /&gt;&lt;br /&gt;Private Sub Abrir()&lt;br /&gt;    &lt;br /&gt;  Set fd = Application.FileDialog(msoFileDialogFilePicker)&lt;br /&gt;  If fd.Show = -1 Then&lt;br /&gt;      arquivo = fd.SelectedItems(1)&lt;br /&gt;      MsgBox "O arquivo selecionado é " &amp;amp; arquivo&lt;br /&gt;  Else&lt;br /&gt;      arquivo = ""&lt;br /&gt;      Exit Sub&lt;br /&gt;  End If&lt;br /&gt;  Set fd = Nothing&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;;-)&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-4604812983817640795?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/4604812983817640795/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=4604812983817640795' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4604812983817640795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4604812983817640795'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/05/selecionar-arquivo-via-caixa-de-dialogo.html' title='Selecionar arquivo via caixa de diálogo - WORD VBA'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3901666009075112821</id><published>2010-05-13T22:17:00.003-03:00</published><updated>2010-05-13T22:20:41.939-03:00</updated><title type='text'>Inserindo assinatura no Outlook - VBA</title><content type='html'>Ultimamente o Outlook tem sido o "alvo" das minhas necessidades de automatização...&lt;br /&gt;Segue código para inserir assinatura numa mensagem criada via VBA.&lt;br /&gt;Detalhe importante: o formato do e-mail deve ser HTML.&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Option Explicit&lt;br /&gt;Dim assinatura As Variant&lt;br /&gt; &lt;br /&gt;Public Function pega_assinatura(ByVal sFile As String) As String&lt;br /&gt;'Dick Kusleika&lt;br /&gt;    Dim fso As Object&lt;br /&gt;    Dim ts As Object&lt;br /&gt;    Set fso = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;    Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)&lt;br /&gt;    pega_assinatura = ts.readall&lt;br /&gt;    ts.Close&lt;br /&gt;End Function&lt;br /&gt; &lt;br /&gt;Sub Cria_mensagem_HTML()&lt;br /&gt;'Creates a new e-mail item and modifies its properties.&lt;br /&gt; &lt;br /&gt;    Dim olapp As Outlook.Application&lt;br /&gt;    Dim objMail As MailItem&lt;br /&gt;    Set olapp = Outlook.Application&lt;br /&gt;    'Create mail item&lt;br /&gt;    Set objMail = olapp.CreateItem(olMailItem)&lt;br /&gt;   &lt;br /&gt;    assinatura = pega_assinatura("C:\Documents and Settings\" &amp; _&lt;br /&gt;  Environ("username") &amp; "\AppData\Roaming\Microsoft\Assinaturas\Paulo.htm")&lt;br /&gt; &lt;br /&gt;    With objMail&lt;br /&gt;       'Set body format to HTML&lt;br /&gt;       'a tag &lt;br/&gt; quebra linha&lt;br /&gt;       'a tag &lt;strong&gt;&lt;/strong&gt; formata o texto para negrito&lt;br /&gt;       .BodyFormat = olFormatHTML&lt;br /&gt;       .HTMLBody = "Texto " &amp; assinatura&lt;br /&gt;       .Display&lt;br /&gt;    End With&lt;br /&gt; &lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3901666009075112821?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3901666009075112821/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3901666009075112821' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3901666009075112821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3901666009075112821'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/05/inserindo-assinatura-no-outlook-vba.html' title='Inserindo assinatura no Outlook - VBA'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-4997235027203057285</id><published>2010-05-08T18:10:00.003-03:00</published><updated>2010-05-08T18:12:08.301-03:00</updated><title type='text'>Navegando num formulário contínuo do Access...</title><content type='html'>... com a mesma facilidade do Excel.&lt;br /&gt;Este código é de autoria do Jaques Zetune da ForumAccess.&lt;br /&gt;Estou deixando aqui mais para consultas, pois as vezes eu preciso e não tenho à mão.&lt;br /&gt;Não esquecer de colocar um checkbox com o nome chkNavegLoop, valor padrão 1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;Option Explicit&lt;br /&gt;&lt;br /&gt;Const cDataSheet = 2, cContinuous = 1&lt;br /&gt;&lt;br /&gt;Private Sub Form_Load()&lt;br /&gt;    Me.KeyPreview = True&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)&lt;br /&gt;    DoKeys Me, KeyCode, Shift&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Public Sub DoKeys(wForm As Form, KeyCode As Integer, Shift As Integer)&lt;br /&gt;    Dim wCtl As Control, wIgnore As Integer&lt;br /&gt;    'a tecla Shift está pressionada ?&lt;br /&gt;    If Shift &lt;&gt; 0 Then Exit Sub&lt;br /&gt;    'o formulário está sendo visualizado em modo contínuo?&lt;br /&gt;    If wForm.CurrentView &lt;&gt; cDataSheet And wForm.DefaultView &lt;&gt; cContinuous Then Exit Sub&lt;br /&gt;&lt;br /&gt;On Error Resume Next&lt;br /&gt;&lt;br /&gt;    Set wCtl = Screen.ActiveControl&lt;br /&gt;    'testa o comportamento da tecla Enter no controle&lt;br /&gt;    wIgnore = (wCtl.EnterKeyBehavior &lt;&gt; 0)&lt;br /&gt;    'verifica se a barra de rolagem está ativada If Not wIgnore Then wIgnore = (wCtl.ScrollBars &lt;&gt; 0)&lt;br /&gt;    'verifica se o controle em questão está com o texto “Ignore Setas” na propriedade Tag&lt;br /&gt;    'indicando que a intercepção de teclas deve ser ignorada no mesmo&lt;br /&gt;    If Not wIgnore Then wIgnore = (InStr(wCtl.Tag, "Ignore Setas") &gt; 0)&lt;br /&gt;    If wIgnore Then Exit Sub&lt;br /&gt;    'sincroniza o registro corrente do formulário com o seu RecordsetClone&lt;br /&gt;    Me.RecordsetClone.Bookmark = Me.Bookmark&lt;br /&gt;    &lt;br /&gt;    Select Case KeyCode&lt;br /&gt;        Case vbKeyDown&lt;br /&gt;            If Me.RecordsetClone.AbsolutePosition + 1 = Me.RecordsetClone.RecordCount And Me!chkNavegLoop Then&lt;br /&gt;            'tentou ir além do topo e a navegação em loop está ativa&lt;br /&gt;                DoCmd.GoToRecord , , acFirst&lt;br /&gt;            Else&lt;br /&gt;                DoCmd.GoToRecord , , acNext&lt;br /&gt;            End If&lt;br /&gt;            KeyCode = 0&lt;br /&gt;        Case vbKeyUp&lt;br /&gt;            If Me.RecordsetClone.AbsolutePosition = 0 And Me!chkNavegLoop Then&lt;br /&gt;            'tentou ir além do final e a navegação em loop está ativa&lt;br /&gt;                DoCmd.GoToRecord , , acLast&lt;br /&gt;            Else&lt;br /&gt;                DoCmd.GoToRecord , , acPrevious&lt;br /&gt;            End If&lt;br /&gt;            KeyCode = 0&lt;br /&gt;    End Select&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-4997235027203057285?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/4997235027203057285/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=4997235027203057285' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4997235027203057285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4997235027203057285'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/05/navegando-num-formulario-continuo-do.html' title='Navegando num formulário contínuo do Access...'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-991508344436150635</id><published>2010-05-08T11:56:00.004-03:00</published><updated>2010-05-08T11:59:08.762-03:00</updated><title type='text'>Ajustar um UserForm para o tamanho da tela</title><content type='html'>E também não deixar o usuário clicar no "X" para fechar o UserForm.&lt;br /&gt;Muito bom para quem gosta de mexer na interface do Excel via VBA, assim é possível voltar todas as configurações colocando o código no botão SAIR.&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Private Sub CommandButton2_Click()&lt;br /&gt;     Application.WindowState = xlMaximized&lt;br /&gt;     Me.Height = Application.Height&lt;br /&gt;     Me.Width = Application.Width&lt;br /&gt;     Me.Left = Application.Left&lt;br /&gt;     Me.Top = Application.Top&lt;br /&gt;End Sub&lt;br /&gt; &lt;br /&gt;Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)&lt;br /&gt;    Cancel = True&lt;br /&gt;    MsgBox "clicar no botão sair!!!"&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-991508344436150635?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/991508344436150635/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=991508344436150635' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/991508344436150635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/991508344436150635'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/05/ajustar-um-userform-para-o-tamanho-da.html' title='Ajustar um UserForm para o tamanho da tela'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-1163462680000877807</id><published>2010-05-08T11:51:00.002-03:00</published><updated>2010-05-08T11:54:42.092-03:00</updated><title type='text'>Executar um processo quando o e-mail chegar</title><content type='html'>Esta é bem interessante: toda vez que chegar um e-mail com um determinado título, executar um processo.&lt;br /&gt;Vamos usar como título, "executa_processo".&lt;br /&gt;Assim, caso eu queira disparar um processo, basta que o meu computador esteja ligado e o Outlook aberto. Quando chegar uma mensagem com o título acima, o processo "minha_rotina" é executado.&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Evento new_mail:&lt;br /&gt; &lt;br /&gt;Private Sub Application_NewMail()   &lt;br /&gt;   Call Procura   &lt;br /&gt;End Sub&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Sub Procura()&lt;br /&gt;    'Procura mensagem na caixa de entrada&lt;br /&gt;    'Critério: Assunto da mensagem&lt;br /&gt;   &lt;br /&gt;    Dim mySearch        As Search&lt;br /&gt;    Dim myResults       As Results&lt;br /&gt;    Dim intCounter      As Integer&lt;br /&gt;    Dim strMessages     As String&lt;br /&gt; &lt;br /&gt;    Set mySearch = AdvancedSearch(Scope:="Inbox", Filter:="urn:schemas:mailheader:subject = 'executa_processo'")&lt;br /&gt;    Set myResults = mySearch.Results&lt;br /&gt;    If myResults.Count &gt; 0 Then&lt;br /&gt;        Call minha_rotina&lt;br /&gt;    Else&lt;br /&gt;        Exit Sub&lt;br /&gt;    End If&lt;br /&gt;       &lt;br /&gt;  &lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-1163462680000877807?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/1163462680000877807/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=1163462680000877807' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1163462680000877807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1163462680000877807'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/05/executar-um-processo-quando-o-e-mail.html' title='Executar um processo quando o e-mail chegar'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-142727299640110276</id><published>2010-05-08T11:45:00.003-03:00</published><updated>2010-05-08T11:50:04.456-03:00</updated><title type='text'>Copiar informações de um e-mail no Outlook - VBA</title><content type='html'>Vou deixar registrado aqui vários trechos de códigos em VBA, para facilitar a consulta. Afinal, basta ter uma conexão com a internet, certo?&lt;br /&gt;Segue abaixo, um exemplo para copiar dados de um e-mail selecionado no Outlook para qualquer outro aplicativo Office.&lt;br /&gt;Detalhes: &lt;br /&gt;- Referenciar o Outlook no projeto VBA;&lt;br /&gt;- O e-mail precisa estar selecionado na caixa de entrada (para este exemplo).&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; &lt;br /&gt;Option Explicit&lt;br /&gt; &lt;br /&gt;Dim oApp As Outlook.Application&lt;br /&gt;Dim oNS As Outlook.NameSpace&lt;br /&gt;Dim oWindow As Object&lt;br /&gt;Dim omail As Outlook.MailItem&lt;br /&gt; &lt;br /&gt;Private Sub Comando12_Click()&lt;br /&gt; &lt;br /&gt;    Set oApp = New Outlook.Application&lt;br /&gt;    Set oNS = oApp.GetNamespace("MAPI")&lt;br /&gt;    Set oWindow = oApp.ActiveWindow&lt;br /&gt;    Set omail = oApp.ActiveExplorer.Selection.Item(1)&lt;br /&gt;   &lt;br /&gt;    txt_remetente = omail.SenderName  'Remetente&lt;br /&gt;    txt_cc = omail.CC         'Com cópia&lt;br /&gt;    txt_assunto = omail.Subject    'Assunto&lt;br /&gt;    txt_mensagem = omail.Body        'Mensagem&lt;br /&gt;    txt_para = omail.To          'Destinatário&lt;br /&gt;    txt_data = omail.ReceivedTime&lt;br /&gt;   &lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-142727299640110276?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/142727299640110276/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=142727299640110276' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/142727299640110276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/142727299640110276'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/05/copiar-informacoes-de-um-e-mail-no.html' title='Copiar informações de um e-mail no Outlook - VBA'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3011150453566316418</id><published>2010-04-22T22:13:00.003-03:00</published><updated>2010-04-22T22:16:27.311-03:00</updated><title type='text'>Achando o último dia do mês</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_UimvP7Ic-vQ/S9D0nw5egnI/AAAAAAAAAR0/lg-l1YUmLLM/s1600/imagem.JPG"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 354px; FLOAT: left; HEIGHT: 172px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5463135311978463858" border="0" alt="" src="http://4.bp.blogspot.com/_UimvP7Ic-vQ/S9D0nw5egnI/AAAAAAAAAR0/lg-l1YUmLLM/s400/imagem.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Em algumas aplicações, principalmente as financeiras, às vezes é necessário obter o último dia de cada mês.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Seguem duas formas, uma com fórmula do Excel e outra em VBA.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Detalhe interessante: dia zero é o último dia do mês anterior.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Private Sub teste()&lt;br /&gt;    Dim ultimo_dia_mes As Date&lt;br /&gt;    ultimo_dia_mes = CDate(1 &amp; "/" &amp; Month(Now()) + 1 &amp; "/" &amp; Year(Now())) - 1&lt;br /&gt;    If ultimo_dia_mes = Format(Now, "dd/mm/yyyy") Then&lt;br /&gt;        MsgBox "ultimo dia"&lt;br /&gt;    End If&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3011150453566316418?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3011150453566316418/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3011150453566316418' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3011150453566316418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3011150453566316418'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/04/achando-o-ultimo-dia-do-mes.html' title='Achando o último dia do mês'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UimvP7Ic-vQ/S9D0nw5egnI/AAAAAAAAAR0/lg-l1YUmLLM/s72-c/imagem.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-2516277649917794854</id><published>2010-04-22T01:57:00.003-03:00</published><updated>2010-04-22T02:06:21.174-03:00</updated><title type='text'>Acrescentando intervalos à data corrente</title><content type='html'>Uma dica simples para "fechar a loja" por hoje, afinal o dia começa cedo e agora (01:58 hrs) é bem cedo...&lt;br /&gt;Supondo que numa célula, haja a fórmula com a data de hoje: =AGORA( ).&lt;br /&gt;Se eu quiser saber a data daqui a 5 dias, basta fazer isto: = agora() + 5.&lt;br /&gt;Para acrescentar 1 hora e 15 minutos: =agora() + tempo(1;15;0).&lt;br /&gt;&lt;br /&gt;É isso aí.&lt;br /&gt;Pelo menos não fecho o dia com um assunto "não Excel".&lt;br /&gt;&lt;br /&gt;;-)))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-2516277649917794854?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/2516277649917794854/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=2516277649917794854' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2516277649917794854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2516277649917794854'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/04/acrescentando-intervalos-data-corrente.html' title='Acrescentando intervalos à data corrente'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-1593195153358897895</id><published>2010-04-22T01:43:00.003-03:00</published><updated>2010-04-22T01:53:11.784-03:00</updated><title type='text'>Onde vamos parar ???</title><content type='html'>Não acredito no que acabo de ver.&lt;br /&gt;Uma grande revista de informática escrevendo "&lt;strong&gt;&lt;span style="font-size:130%;"&gt;tuíte&lt;/span&gt;&lt;/strong&gt;" no seu site...&lt;br /&gt;Daqui a pouco vai aparecer o "aipéd" e coisas do gênero!&lt;br /&gt;Para mim só tem uma explicação: preguiça de escrever certo.&lt;br /&gt;&lt;br /&gt;Arghhh....&lt;br /&gt;&lt;br /&gt;p.s.: Apesar do assunto não ter nada a ver com o "Equicél" (perceberam como ficou ridículo?), fica a dica para não fazerem isso em seus textos no Office e espero que o Word continue indicando essas aberrações como palavras incorretas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-1593195153358897895?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/1593195153358897895/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=1593195153358897895' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1593195153358897895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1593195153358897895'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/04/onde-vamos-parar.html' title='Onde vamos parar ???'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-2691542127827558294</id><published>2010-04-17T21:06:00.002-03:00</published><updated>2010-04-17T21:12:33.706-03:00</updated><title type='text'>Video aulas no YouTube</title><content type='html'>Para quem gosta de vídeo-aulas, o YouTube está "recheado" de tutoriais de Excel e também de muitos outros softwares.&lt;div&gt;&lt;a href="http://www.youtube.com/results?search_query=excel&amp;amp;aq=f"&gt;http://www.youtube.com/results?search_query=excel&amp;amp;aq=f&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Sempre gostei de cursos multimídia, mas dando uma olhada nos tutoriais de Excel do YouTube, notei que a qualidade ainda deixa muito a desejar.&lt;/div&gt;&lt;div&gt;O vídeo é só razoável e o áudio muito pobre, provavelmente gravado com esses microfones caseiros (se não estiver enganado, são de eletreto).&lt;/div&gt;&lt;div&gt;Até hoje não vi nenhum curso multimídia que se comparasse em qualidade de aúdio e vídeo com os cursos da antiga Editora Terra, estes com vídeo muito bem trabalhado e áudio gravado em um estúdio de verdade.&lt;/div&gt;&lt;div&gt;Boa sorte para quem quiser tentar.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-2691542127827558294?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/2691542127827558294/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=2691542127827558294' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2691542127827558294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2691542127827558294'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/04/video-aulas-no-youtube.html' title='Video aulas no YouTube'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-1645439105958943743</id><published>2010-04-17T19:41:00.003-03:00</published><updated>2010-04-17T19:52:49.265-03:00</updated><title type='text'>A pessoa que inventou deve ter achado o máximo!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UimvP7Ic-vQ/S8o7b2q1IHI/AAAAAAAAARs/ydrCtaeLoWA/s1600/imagem.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 321px; height: 294px;" src="http://1.bp.blogspot.com/_UimvP7Ic-vQ/S8o7b2q1IHI/AAAAAAAAARs/ydrCtaeLoWA/s400/imagem.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5461242847857811570" /&gt;&lt;/a&gt;&lt;br /&gt;Costumo dizer que a maioria dos inventores não usa o que inventa, pois certas "invenções" simplesmente não são funcionais, causam mais problemas do que ajudam ou é totalmente inútil.&lt;br /&gt;Exemplo "simples" é a faixa de opções do Office 2007 que até hoje, não vi alguém que soubesse explicar qual é a lógica do agrupamento dos comandos.&lt;br /&gt;Veio para atrapalhar a vida de quem já estava habituado com o funcional, intuitivo e tradicional menu.&lt;br /&gt;Pior de tudo é que, outros desenvolvedores de software acharam linda a invenção e estão adotando o mesmo visual e agrupamento...&lt;br /&gt;Vou deixar aqui a imagem de uma invenção que ilustra bem a situação. Pensaram na segurança para evitar &lt;i&gt;spammer's&lt;/i&gt; e o recurso ficou tão seguro que nem o próprio dono da conta consegue mandar um simples e-mail!&lt;div&gt;Aliás, acho que nem mesmo o inventor dessa ... (deixa pra lá...) consegue acertar na &lt;b&gt;primeira&lt;/b&gt; tentativa as letras.&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-1645439105958943743?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/1645439105958943743/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=1645439105958943743' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1645439105958943743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1645439105958943743'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/04/pessoa-que-inventou-deve-ter-achado-o.html' title='A pessoa que inventou deve ter achado o máximo!'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UimvP7Ic-vQ/S8o7b2q1IHI/AAAAAAAAARs/ydrCtaeLoWA/s72-c/imagem.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-1098767457620241744</id><published>2010-04-14T00:22:00.002-03:00</published><updated>2010-04-14T00:26:31.481-03:00</updated><title type='text'>Relógio numa célula</title><content type='html'>Bem simples:&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;Dim hora_atual As Date&lt;br /&gt;&lt;br /&gt;Sub hora()&lt;br /&gt;&lt;br /&gt;    ThisWorkbook.Sheets("Plan1").Range("A1").Value = Format(Time, "hh:mm:ss")&lt;br /&gt;    Call acerta_hora&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub acerta_hora()&lt;br /&gt;&lt;br /&gt;    hora_atual = Now + TimeValue("00:00:01")&lt;br /&gt;    Application.OnTime hora_atual, "hora"&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub parar()&lt;br /&gt;    Application.OnTime EarliestTime:=hora_atual, Procedure:="hora", Schedule:=False&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-1098767457620241744?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/1098767457620241744/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=1098767457620241744' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1098767457620241744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1098767457620241744'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/04/relogio-numa-celula.html' title='Relógio numa célula'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-2689797525020052054</id><published>2010-04-13T23:13:00.002-03:00</published><updated>2010-04-13T23:18:49.213-03:00</updated><title type='text'>Listando emails do Outlook numa tabela do Access</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Esta demanda partiu de um colega que precisou listar os emails pelos títulos em ordem cronológica.&lt;br /&gt;Abaixo o código para consulta ou para quem precisar.&lt;br /&gt;Rodamos no Office 2007.&lt;br /&gt;Não esquecer de marcar a referência "Microsoft ActiveX Data Objects", qualquer versão.&lt;br /&gt;&lt;br /&gt;;-)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Sub Listar_emails_Access()&lt;br /&gt;&lt;br /&gt;   Dim rst                 As New ADODB.Recordset&lt;br /&gt;   Dim cnn                 As New ADODB.Connection&lt;br /&gt;&lt;br /&gt;   Dim contador_itens      As Integer&lt;br /&gt;   Dim nms                 As Outlook.NameSpace&lt;br /&gt;   Dim fld                 As Outlook.MAPIFolder&lt;br /&gt;   Dim itm                 As Object&lt;br /&gt;&lt;br /&gt;   Set nms = Application.GetNamespace("MAPI")&lt;br /&gt;   Set fld = nms.PickFolder&lt;br /&gt;&lt;br /&gt;   cnn.Open "Provider=Microsoft.JET.OLEDB.4.0;" &amp;amp; "Data Source=" &amp;amp; "C:\banco.mdb"&lt;br /&gt;&lt;br /&gt;   rst.Open "Tabela1", cnn, adOpenKeyset, adLockOptimistic&lt;br /&gt;   &lt;br /&gt;   contador_itens = fld.Items.Count&lt;br /&gt;&lt;br /&gt;   For Each itm In fld.Items&lt;br /&gt;       If itm.Class = olMail Then&lt;br /&gt;           rst.AddNew&lt;br /&gt;           rst!titulo = itm.Subject&lt;br /&gt;           rst!Data = itm.ReceivedTime&lt;br /&gt;           rst.Update&lt;br /&gt;       End If&lt;br /&gt;   Next itm&lt;br /&gt;&lt;br /&gt;   rst.Close&lt;br /&gt;   cnn.Close&lt;br /&gt;&lt;br /&gt;   MsgBox "Fim"&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-2689797525020052054?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/2689797525020052054/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=2689797525020052054' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2689797525020052054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2689797525020052054'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/04/listando-emails-do-outlook-numa-tabela.html' title='Listando emails do Outlook numa tabela do Access'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-2196855790190201477</id><published>2010-04-06T22:56:00.004-03:00</published><updated>2010-04-06T22:58:55.012-03:00</updated><title type='text'>Código para importação de arquivo texto delimitado</title><content type='html'>Vou deixar aqui só para eventual consulta.&lt;br /&gt;O delimitador é o ponto-e-vírgula.&lt;br /&gt;Arquivo texto sem cabeçalho.&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Sub importa_delimitado()&lt;br /&gt;   &lt;br /&gt;    Dim entrada         As String       'linha do txt&lt;br /&gt;    Dim i               As Single       'número de caracteres&lt;br /&gt;    Dim linha           As Integer&lt;br /&gt;    Dim coluna          As Integer&lt;br /&gt;    Dim texto           As String       'texto a ser gravado na célula&lt;br /&gt;    Dim ultimo          As Boolean      'controle do último caracter da linha&lt;br /&gt;   &lt;br /&gt;    Open "C:\teste.txt" For Input As #1&lt;br /&gt;   &lt;br /&gt;    Line Input #1, entrada&lt;br /&gt;   &lt;br /&gt;    linha = 1&lt;br /&gt;    coluna = 1&lt;br /&gt;    Do While Not EOF(1)&lt;br /&gt;        For i = 1 To Len(entrada)&lt;br /&gt;            If Mid(entrada, i, 1) = ";" Then&lt;br /&gt;                Cells(linha, coluna).Value = texto&lt;br /&gt;                coluna = coluna + 1&lt;br /&gt;                texto = ""&lt;br /&gt;            Else&lt;br /&gt;                'Se for o último caracter, grava na célula&lt;br /&gt;                If i = Len(entrada) Then&lt;br /&gt;                    texto = texto &amp; Mid(entrada, i, 1)&lt;br /&gt;                    Cells(linha, coluna).Value = texto&lt;br /&gt;                    coluna = coluna + 1&lt;br /&gt;                    texto = ""&lt;br /&gt;                    ultimo = True&lt;br /&gt;                End If&lt;br /&gt;                If Not ultimo Then texto = texto &amp; Mid(entrada, i, 1)&lt;br /&gt;            End If&lt;br /&gt;            ultimo = False&lt;br /&gt;        Next&lt;br /&gt;        linha = linha + 1&lt;br /&gt;        coluna = 1&lt;br /&gt;        Line Input #1, entrada&lt;br /&gt;    Loop&lt;br /&gt; &lt;br /&gt;    Close #1&lt;br /&gt; &lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-2196855790190201477?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/2196855790190201477/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=2196855790190201477' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2196855790190201477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2196855790190201477'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/04/codigo-para-importacao-de-arquivo-texto.html' title='Código para importação de arquivo texto delimitado'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-9212071955679686269</id><published>2010-04-04T15:57:00.005-03:00</published><updated>2010-04-04T16:01:35.058-03:00</updated><title type='text'>Inserindo células copiadas em outro intervalo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UimvP7Ic-vQ/S7jhvP5mvkI/AAAAAAAAARk/zEAliJRUtt4/s1600/imagem.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 381px;" src="http://1.bp.blogspot.com/_UimvP7Ic-vQ/S7jhvP5mvkI/AAAAAAAAARk/zEAliJRUtt4/s400/imagem.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5456359150397603394" /&gt;&lt;/a&gt;&lt;br /&gt;Boas!&lt;br /&gt;&lt;br /&gt;Para inserir um grupo de células em outro intervalo, muita gente costuma primeiro inserir novas células para depois colar o conteúdo copiado.&lt;br /&gt;O meio mais fácil de fazer isso, é clicar com o botão direito, selecionar "Inserir células copiadas..." e depois optar por deslocar as células à direita ou abaixo.&lt;br /&gt;No exemplo bem simples, eu inseri os números 4, 5 e 6 na primeira coluna em seus respectivos lugares.&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-9212071955679686269?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/9212071955679686269/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=9212071955679686269' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/9212071955679686269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/9212071955679686269'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/04/inserindo-celulas-copiadas-em-outro.html' title='Inserindo células copiadas em outro intervalo'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UimvP7Ic-vQ/S7jhvP5mvkI/AAAAAAAAARk/zEAliJRUtt4/s72-c/imagem.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3576265456288551322</id><published>2010-04-04T15:47:00.002-03:00</published><updated>2010-04-04T15:50:32.974-03:00</updated><title type='text'>Obtendo o reembolso pelo Windows OEM</title><content type='html'>Apenas vou deixar o link aqui.&lt;br /&gt;Parabéns ao Otto Teixeira que conseguiu essa façanha e que muitos outros tenham sucesso contra a prepotência das empresas.&lt;br /&gt;&lt;br /&gt;http://ottoteixeira.com/2010/03/21/como-conseguir-o-reembolso-pelo-windows-oem/&lt;br /&gt;&lt;br /&gt;Espero que o link da Info não saia do ar tão rapidamente:&lt;br /&gt;http://info.abril.com.br/noticias/tecnologia-pessoal/ele-rejeitou-o-windows-e-foi-reembolsado-24032010-34.shl&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3576265456288551322?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3576265456288551322/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3576265456288551322' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3576265456288551322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3576265456288551322'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/04/obtendo-o-reembolso-pelo-windows-oem.html' title='Obtendo o reembolso pelo Windows OEM'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8355939039383278965</id><published>2010-03-07T21:52:00.002-03:00</published><updated>2010-03-07T21:54:54.967-03:00</updated><title type='text'>Transferindo contas do Outlook 2003 - parte 2</title><content type='html'>Pesquisando um pouco mais, encontrei um aplicativo interessante que resolveu o meu problema anterior.&lt;br /&gt;Explicando, apesar de conseguir transferir a conta do Outlook 2003 para outro HD, ao baixar as mensagens do Yahoo!, estavam vindo todas e-mails desde a abertura da conta!&lt;br /&gt;Ao executar o aplicativo Easy Transfer, o problema foi resolvido.&lt;br /&gt;Abaixo o link para quem não quer ter dor de cabeça como eu tive...&lt;br /&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=2B6F1631-973A-45C7-A4EC-4928FA173266&amp;displaylang=en&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8355939039383278965?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8355939039383278965/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8355939039383278965' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8355939039383278965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8355939039383278965'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/03/transferindo-contas-do-outlook-2003.html' title='Transferindo contas do Outlook 2003 - parte 2'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3077790388353789057</id><published>2010-03-07T00:01:00.002-03:00</published><updated>2010-03-07T00:03:52.487-03:00</updated><title type='text'>Colar &gt; Especial &gt; Valores (texto em html)</title><content type='html'>Às vezes eu preciso copiar texto e/ou valores de sites que geralmente vêm no formato html para colar no Excel, para tanto eu uso Colar &gt; Especial &gt; Valores.&lt;br /&gt;Um jeito mais prático, é colar diretamente na barra de fórmulas, que acaba tendo o mesmo efeito, porém com menos click's.&lt;br /&gt;Experimentem!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3077790388353789057?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3077790388353789057/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3077790388353789057' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3077790388353789057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3077790388353789057'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/03/colar-especial-valores-texto-em-html.html' title='Colar &gt; Especial &gt; Valores (texto em html)'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3730387721042309206</id><published>2010-03-06T23:55:00.002-03:00</published><updated>2010-03-07T00:00:56.331-03:00</updated><title type='text'>Exportar conta de e-mail no Outlook 2003</title><content type='html'>Ao transferir meus arquivos para um novo HD, com o XP recém-instalado, deparei com um problema inesperado: exportar a conta de e-mail no Outlook origem para depois importá-la no novo WinXP.&lt;br /&gt;Aparentemente uma tarefa simples, mas... não existe a opção de exportar a conta!&lt;br /&gt;O Outlook Express que é a versão simplificada do leitor de e-mail tem esse recurso, não entendo porque a Microsoft não incluiu no "irmão mais velho".&lt;br /&gt;Bem, pesquisando pela internet, encontrei a solução através de uma chave no registro.&lt;br /&gt;Segue o caminho das pedras.&lt;br /&gt;Depois de localizar a chave, basta exportá-la e importar no outro PC.&lt;br /&gt;Artigo original em http://www.infonegocio.com/luzylar/cuentasoutlook2003.htm&lt;br /&gt;&lt;br /&gt;A "maledeta":&lt;br /&gt;&lt;br /&gt;HKEY_CURRENT_USER\&lt;br /&gt;Software\&lt;br /&gt;Microsoft\&lt;br /&gt;Windows NT\&lt;br /&gt;CurrentVersion\&lt;br /&gt;Windows Messaging Subsystem\&lt;br /&gt;\Profiles\&lt;br /&gt;Outlook\&lt;br /&gt;9375CFF0413111d3B88A00104B2A6676&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3730387721042309206?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3730387721042309206/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3730387721042309206' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3730387721042309206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3730387721042309206'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/03/exportar-conta-de-e-mail-no-outlook.html' title='Exportar conta de e-mail no Outlook 2003'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-277168133822782427</id><published>2010-02-15T10:28:00.002-03:00</published><updated>2010-02-15T10:31:54.512-03:00</updated><title type='text'>Alinhar texto dentro de uma string</title><content type='html'>Olá!&lt;br /&gt;&lt;br /&gt;Segue uma dica para alinhar um texto dentro de uma variável do tipo string.&lt;br /&gt;Não vejo muita utilidade, pois quando temos possíveis espaços dentro de uma string e queremos trabalhar somente com o valor, faz mais sentido usar um TRIM(variável).&lt;br /&gt;Bem, se a função existe, em alguma situação ela deve ter sua utilidade.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Option Explicit&lt;br /&gt;Dim texto As String&lt;br /&gt;&lt;br /&gt;Sub teste()&lt;br /&gt;   &lt;br /&gt;    texto = "     azul   "&lt;br /&gt;    Debug.Print texto&lt;br /&gt;    &lt;br /&gt;    'Texto alinhado à esquerda dentro da variável&lt;br /&gt;    LSet texto = "azul"&lt;br /&gt;    Debug.Print texto&lt;br /&gt;        &lt;br /&gt;    'Texto alinhado à direita dentro da variável&lt;br /&gt;    RSet texto = "azul"&lt;br /&gt;    Debug.Print texto&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-277168133822782427?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/277168133822782427/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=277168133822782427' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/277168133822782427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/277168133822782427'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/02/alinhar-texto-dentro-de-uma-string.html' title='Alinhar texto dentro de uma string'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-649727432019814598</id><published>2010-02-14T21:09:00.003-03:00</published><updated>2010-02-14T21:14:05.697-03:00</updated><title type='text'>Acessando dados do SQL Server Express 2005</title><content type='html'>ADO é um recurso muito versátil, permite ao Excel acessar base de dados como o Access, arquivos texto e também do SQL Server.&lt;br /&gt;Vou mostrar aqui um exemplo bem simples de como acessar a tabela de clientes ("Customers") do Northwind.&lt;br /&gt;Para quem quiser utilizar o recurso, não esqueça de marcar o "Microsoft Active Data Objects" nas referências do projeto VBA, pode ser qualquer versão. Aqui eu utilizei a 2.8.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Option Explicit&lt;br /&gt;&lt;br /&gt;Sub SQL_Express()&lt;br /&gt;    Dim rst As New ADODB.Recordset&lt;br /&gt;    Dim cnn As New ADODB.Connection&lt;br /&gt;    Dim i As Integer&lt;br /&gt;    &lt;br /&gt;    cnn.Open "Provider=SQLNCLI;Data Source=(local)\SQLEXPRESS;uid=sa;pwd=123;database=northwind"&lt;br /&gt;    &lt;br /&gt;    rst.CursorLocation = adUseClient&lt;br /&gt;    rst.Open "SELECT CompanyName FROM customers", cnn, adOpenKeyset, adLockOptimistic&lt;br /&gt;    &lt;br /&gt;    i = 1&lt;br /&gt;    Do While Not rst.EOF&lt;br /&gt;        Cells(i, 1).Value = rst!CompanyName&lt;br /&gt;        i = i + 1&lt;br /&gt;        rst.MoveNext&lt;br /&gt;    Loop&lt;br /&gt;&lt;br /&gt;    rst.Close&lt;br /&gt;    cnn.Close&lt;br /&gt;    &lt;br /&gt;    Set rst = Nothing&lt;br /&gt;    Set cnn = Nothing&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-649727432019814598?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/649727432019814598/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=649727432019814598' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/649727432019814598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/649727432019814598'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/02/acessando-dados-do-sql-server-express.html' title='Acessando dados do SQL Server Express 2005'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-1387820211221295569</id><published>2010-02-13T10:02:00.002-03:00</published><updated>2010-02-13T10:05:23.372-03:00</updated><title type='text'>Várias versões do Office no mesmo computador</title><content type='html'>Ter várias versões do Office sempre gera algum tipo de problema.&lt;br /&gt;Lembro que tive a versão 97 com 2000, 97 com XP e recentemente 2003 com 2007.&lt;br /&gt;Cansei de tantos pequenos problemas que resolvi ficar somente com o 2003 instalado, mais do que suficiente para as minhas necessidades.&lt;br /&gt;Para quem quiser se aventurar... segue um link com dicas muito interessantes:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://pubs.logicalexpressions.com/Pub0009/LPMArticle.asp?ID=762&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-1387820211221295569?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/1387820211221295569/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=1387820211221295569' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1387820211221295569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1387820211221295569'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/02/varias-versoes-do-office-no-mesmo.html' title='Várias versões do Office no mesmo computador'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-259408341870228904</id><published>2010-01-27T22:24:00.002-03:00</published><updated>2010-01-27T22:30:45.184-03:00</updated><title type='text'>Usando a barra de status do Excel</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UimvP7Ic-vQ/S2DomModK9I/AAAAAAAAARc/03pVNwORiUA/s1600-h/statusbar.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 131px;" src="http://4.bp.blogspot.com/_UimvP7Ic-vQ/S2DomModK9I/AAAAAAAAARc/03pVNwORiUA/s400/statusbar.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5431596893532400594" /&gt;&lt;/a&gt;Muitas vezes durante a execução de uma macro, queremos acompanhar o andamento do processo.&lt;div&gt;Para isso, basta usar o recurso da barra de status do próprio Excel.&lt;/div&gt;&lt;div&gt;Abaixo um exemplo bem simples com um looping preenchendo um conjunto de células.&lt;/div&gt;&lt;div&gt;Ao lado, o resultado.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre;font-size:13px;"&gt;&lt;span class="Apple-style-span"   style="font-family:Georgia, serif;font-size:130%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: normal;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;Option Explicit&lt;br /&gt;Dim i As Integer&lt;br /&gt;&lt;br /&gt;Sub status_bar()&lt;br /&gt; For i = 1 To 5000&lt;br /&gt;     DoEvents&lt;br /&gt;     Cells(i, 1).Value = "Teste"&lt;br /&gt;     Application.StatusBar = "Preenchendo célula " &amp;amp; i &amp;amp; " de 5.000"&lt;br /&gt; Next&lt;br /&gt; Application.StatusBar = False&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-259408341870228904?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/259408341870228904/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=259408341870228904' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/259408341870228904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/259408341870228904'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2010/01/usando-barra-de-status-do-excel.html' title='Usando a barra de status do Excel'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UimvP7Ic-vQ/S2DomModK9I/AAAAAAAAARc/03pVNwORiUA/s72-c/statusbar.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-4871126736558742405</id><published>2009-12-27T23:09:00.005-03:00</published><updated>2009-12-27T23:14:00.082-03:00</updated><title type='text'>Office 2008 no Mac não tem VBA!</title><content type='html'>Muito estranho...&lt;div&gt;Bem, não sou usuário dos Mac's, talvez alguém que o seja possa contribuir com sua opinião.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Segue o link (tomara que não sumam com o artigo).&lt;/div&gt;&lt;div&gt;Vou guardar uma cópia em pdf no meu e-mail, caso o link esteja quebrado.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.macworld.com/article/54320/2006/12/microsoft.html"&gt;http://www.macworld.com/article/54320/2006/12/microsoft.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-4871126736558742405?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/4871126736558742405/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=4871126736558742405' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4871126736558742405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4871126736558742405'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/12/office-no-mac-nao-tem-vba.html' title='Office 2008 no Mac não tem VBA!'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-28878345799637733</id><published>2009-12-27T22:45:00.003-03:00</published><updated>2009-12-27T22:53:46.094-03:00</updated><title type='text'>Verificar se uma planilha existe numa pasta fechada via VBA</title><content type='html'>Às vezes me deparo com pedidos estranhos em grupos de discussões e fóruns da vida.&lt;div&gt;Acabei de ver agora, um colega que precisa ver se uma planilha existe numa pasta que está fechada.&lt;br /&gt;Tempos atrás eu precisei usar a linguagem SQL no VBA para inserir dados numa outra planilha, cuja pasta poderia ou não estar aberta. Para contornar isso, usei o ADO.&lt;br /&gt;Importante: não esquecer de marcar a referência "Microsoft Active Data Objects" (versão de 2.6 para cima).&lt;br /&gt;Aproveitando para relembrar conceitos... uma "pasta" do Excel contém planilhas (é muito comum as pessoas chamarem pastas de planilhas e confundirem pasta do Excel com pasta do Windows que são coisas bem diferentes!).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;;-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Sub ver()&lt;br /&gt;   Dim arquivo As String&lt;br /&gt;   arquivo = "c:\teste.xls"&lt;br /&gt;   Dim cnn As New ADODB.Connection&lt;br /&gt;   cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source = " _&lt;br /&gt;       &amp;amp; arquivo &amp;amp; ";Extended Properties=Excel 8.0;"&lt;br /&gt;  &lt;br /&gt;   On Error Resume Next&lt;br /&gt;   cnn.Execute "SELECT top 1 * from [planilha1$]"&lt;br /&gt;   If Err.Number = 0 Then&lt;br /&gt;       MsgBox "Planilha existe"&lt;br /&gt;   Else&lt;br /&gt;       MsgBox "Planilha não existe"&lt;br /&gt;   End If&lt;br /&gt;  &lt;br /&gt;   cnn.Close&lt;br /&gt;   Set cnn = Nothing&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-28878345799637733?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/28878345799637733/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=28878345799637733' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/28878345799637733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/28878345799637733'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/12/verificar-se-uma-planilha-existe-numa.html' title='Verificar se uma planilha existe numa pasta fechada via VBA'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-852328705841080559</id><published>2009-12-25T10:35:00.002-03:00</published><updated>2009-12-25T10:39:58.662-03:00</updated><title type='text'>Corretor da nova ortografia no Word 2007</title><content type='html'>Demorou mas saiu:&lt;br /&gt;&lt;br /&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=DF0AF8D5-A8DA-4938-8A44-E8BE7C8EEAEF&amp;displaylang=pt-br&lt;br /&gt;&lt;br /&gt;Ou na minha pasta compartilhada do 4shared, link mais acima da página.&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-852328705841080559?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/852328705841080559/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=852328705841080559' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/852328705841080559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/852328705841080559'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/12/corretor-da-nova-ortografia-no-word.html' title='Corretor da nova ortografia no Word 2007'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-7244979734527398438</id><published>2009-12-20T23:45:00.004-03:00</published><updated>2009-12-21T00:00:28.777-03:00</updated><title type='text'>ListView no Access</title><content type='html'>Esta vou deixar aqui para futuras consultas.&lt;br /&gt;Utilizo-o porque num ListBox não tem como alinhar números à direita.&lt;br /&gt;Estranhamente num dos códigos, às vezes a primeira coluna é a zero (0) e em outras é 1.&lt;br /&gt;Bem, se alguém souber como resolver os dois problemas (alinhar números à direita no ListBox e a questão da primeira coluna no ListView), me manda um e-mail.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;font size = 3&gt;&lt;br /&gt;Sub carrega_listview2()&lt;br /&gt;    With Me.Listview2&lt;br /&gt;        .View = lvwReport&lt;br /&gt;        .GridLines = True&lt;br /&gt;        .FullRowSelect = True&lt;br /&gt;        .ListItems.Clear&lt;br /&gt;        .ColumnHeaders.Clear&lt;br /&gt;    End With&lt;br /&gt;    &lt;br /&gt;    'Cabeçalho do ListView&lt;br /&gt;    With Me.Listview2.ColumnHeaders&lt;br /&gt;        .Add , , "N/Número", 1500, lvwcolumright&lt;br /&gt;        .Add , , "Cartório", 1300, lvwColumnLeft&lt;br /&gt;        .Add , , "Protocolo", 1300, lvwcolumright&lt;br /&gt;        .Add , , "Vencimento", 1300, lvwColumnLeft&lt;br /&gt;        .Add , , "Valor", 1000, lvwcolumright&lt;br /&gt;    End With&lt;br /&gt;    &lt;br /&gt;    'Adicionar itens&lt;br /&gt;    rst.MoveFirst&lt;br /&gt;    Do Until rst.EOF&lt;br /&gt;        Set lstItem = Me.Listview2.ListItems.Add()&lt;br /&gt;        lstItem.Text = Format(rst!Nosso_Numero, "000000000000000")&lt;br /&gt;        lstItem.SubItems(1) = Format(rst!numero_tabe_protesto, "00")&lt;br /&gt;        lstItem.SubItems(2) = Format(rst!numero_protocolo, "0000000000")&lt;br /&gt;        lstItem.SubItems(3) = rst!data_venc&lt;br /&gt;        lstItem.SubItems(4) = Format(rst!vl_titulo / 100, "#0.00")&lt;br /&gt;        &lt;br /&gt;        rst.MoveNext&lt;br /&gt;    Loop&lt;br /&gt;    rst.Close&lt;br /&gt;End Sub&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-7244979734527398438?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/7244979734527398438/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=7244979734527398438' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7244979734527398438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7244979734527398438'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/12/listview-no-access.html' title='ListView no Access'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8748493585997327524</id><published>2009-11-25T20:54:00.001-03:00</published><updated>2009-11-25T20:55:33.961-03:00</updated><title type='text'>Excel 2010</title><content type='html'>Está chegando a hora...&lt;br /&gt;Para quem quiser se aventurar, já está disponível a versão beta para download:&lt;br /&gt;http://www.microsoft.com/office/2010/en/download-office-professional-plus/default.aspx&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8748493585997327524?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8748493585997327524/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8748493585997327524' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8748493585997327524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8748493585997327524'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/11/excel-2010.html' title='Excel 2010'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-7693804024845769590</id><published>2009-10-18T16:34:00.002-03:00</published><updated>2009-10-18T16:40:19.165-03:00</updated><title type='text'>Input box do Excel</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UimvP7Ic-vQ/Sttu_88CwXI/AAAAAAAAARU/mSVstHRc7as/s1600-h/msgbox.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 193px;" src="http://3.bp.blogspot.com/_UimvP7Ic-vQ/Sttu_88CwXI/AAAAAAAAARU/mSVstHRc7as/s400/msgbox.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5394027023675081074" /&gt;&lt;/a&gt;&lt;br /&gt;Após um "longo e tenebroso inverno...", novamente as postagens de dicas de Excel.&lt;br /&gt;Continuando no VBA, um InputBox muito mais prático do que o tradicional do VB/VBA.&lt;br /&gt;Segue um exemplo e a imagem correspondente.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Option Explicit&lt;br /&gt;&lt;br /&gt;Sub teste_box()&lt;br /&gt;    Dim variavel As Range&lt;br /&gt;    Set variavel = Application.InputBox(prompt:="Região a ser apagada:", _&lt;br /&gt;        Title:="Box do Excel", Type:=8)&lt;br /&gt;    variavel.ClearContents&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;:-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-7693804024845769590?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/7693804024845769590/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=7693804024845769590' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7693804024845769590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7693804024845769590'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/10/input-box-do-excel.html' title='Input box do Excel'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UimvP7Ic-vQ/Sttu_88CwXI/AAAAAAAAARU/mSVstHRc7as/s72-c/msgbox.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-9210585288360413111</id><published>2009-08-29T13:08:00.003-03:00</published><updated>2009-12-30T00:53:46.408-03:00</updated><title type='text'>Descobrindo qual o nome da tabela vinculada no Access</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_UimvP7Ic-vQ/SplTbe5DpWI/AAAAAAAAARM/82-i4Ri4mQs/s1600-h/imagem.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 392px; height: 400px;" src="http://4.bp.blogspot.com/_UimvP7Ic-vQ/SplTbe5DpWI/AAAAAAAAARM/82-i4Ri4mQs/s400/imagem.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5375419361857348962" /&gt;&lt;/a&gt;&lt;br /&gt;Esta dica devo ao meu colega Cleiton que descobriu em 5 minutos o que eu gastei umas 2 horas pesquisando na internet...&lt;br /&gt;A situação:&lt;br /&gt;Se você vincula uma tabela de outro mdb e altera o nome do vínculo, a princípio parece que não se sabe qual o nome original da tabela, visto que o Access mostra o novo nome e apenas uma seta indicando que trata-se de uma tabela vinculada.&lt;br /&gt;Abrindo as propriedades da tabela na janela do banco de dados, não aparece nenhuma informação, porém se abrirmos a estrutura da tabela e a partir daí, as propriedades, enfim o nome original da tabela é exibido.&lt;br /&gt;Só mostrando a imagem para entender!&lt;br /&gt;&lt;br /&gt;:-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-9210585288360413111?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/9210585288360413111/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=9210585288360413111' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/9210585288360413111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/9210585288360413111'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/08/descobrindo-qual-o-nome-da-tabela.html' title='Descobrindo qual o nome da tabela vinculada no Access'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UimvP7Ic-vQ/SplTbe5DpWI/AAAAAAAAARM/82-i4Ri4mQs/s72-c/imagem.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-9215634800983066260</id><published>2009-05-10T08:00:00.002-03:00</published><updated>2009-05-10T08:11:15.636-03:00</updated><title type='text'>E-mail pelo Excel - II</title><content type='html'>Continuo achando que é mais fácil fazer o código no próprio Outlook, mas muitos usuários ainda querem enviar e-mails através de outros aplicativos.&lt;br /&gt;Possível é, mas são tantos os problemas de automação que não vejo o porque de tanta insistência em fazer o código no Excel e/ou outros aplicativos, haja vista que, quem usa o Office, quase sempre está com o Outlook aberto.&lt;br /&gt;É a velha história do InputBox com máscara de senha: basta criar a tela com caixa de texto e alterar a máscara para "*****". Para que inventar códigos mirabolantes para fazer o InputBox receber senha? Ele não foi projetado para isso!&lt;br /&gt;Bem, num dos grupos de Excel que participo recebi esta interessante mensagem sobre como mandar e-mails pelo Excel.&lt;br /&gt;O problema que gerou a discussão, é a mensagem de confirmação que o Outlook exibe quando outro aplicativo tenta enviar e-mails através ele: "confirma (s/n)?".&lt;br /&gt;Não testei o código e nem vou testar, apenas vou deixar registrado aqui para quem quiser se aventurar.&lt;br /&gt;Ah, lembrando também que existe um programa chamado "ClickYes" para quem ainda tem o problema da mensagem de confirmação do Outlook.&lt;br /&gt;&lt;br /&gt;abs!&lt;br /&gt;&lt;br /&gt;original em: http://www.rondebruin.nl/cdo.htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Sending mail from Excel with CDO&lt;br /&gt;Ron de Bruin (last update 31-Oct-2007)&lt;br /&gt;Go back to the mail tips page&lt;br /&gt;&lt;br /&gt;What is CDO doing&lt;br /&gt;&lt;br /&gt;The example code is using CDOSYS (CDO for Windows 2000).&lt;br /&gt;It does not depend on MAPI or CDO and hence is dialog free&lt;br /&gt;and does not use your mail program to send email.&lt;br /&gt;&lt;You can send mail without a mail program&gt;&lt;br /&gt;&lt;br /&gt;Briefly to explain, this code builds the message and drops it&lt;br /&gt;in the pickup directory, and SMTP service running on the machine&lt;br /&gt;picks it up and send it out to the internet.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Why using CDO code instead of Outlook automation or SendMail in VBA.&lt;br /&gt;&lt;br /&gt;1: It doesn't matter what Mail program you are using (It only use the SMTP server).&lt;br /&gt;2: It doesn't matter what Office version you are using (97…2007)&lt;br /&gt;3: You can send a range/sheet in the body of the mail (some mail programs can’t do this)&lt;br /&gt;4: You can send any file you like (Word, PDF, PowerPoint, TXT files,….)&lt;br /&gt;5: No Security warnings anymore, really great if you are sending a lot of mail in a loop.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Read this!!!&lt;br /&gt;&lt;br /&gt;This code will not work in Win 98 and ME.&lt;br /&gt;You must be connected to the internet when you run a example.&lt;br /&gt;&lt;br /&gt;It is possible that you get a Send error when you use one of the examples.&lt;br /&gt;AFAIK : This will happen if you haven't setup an account in Outlook Express or Windows Mail.&lt;br /&gt;In that case the system doesn't know the name of your SMTP server.&lt;br /&gt;If this happens you can use the commented green lines in each example.&lt;br /&gt;Don't forget to fill in the SMTP server name in each code sample where&lt;br /&gt;it says "Fill in your SMTP server here"&lt;br /&gt;&lt;br /&gt;When you also get the Authentication Required Error you can add this three lines.&lt;br /&gt;.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1&lt;br /&gt;.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username"&lt;br /&gt;.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"&lt;br /&gt;&lt;br /&gt;Don't remove the TextBody line in the code. If you do you can't open the attachment (bug in CDO).&lt;br /&gt;If you don't want to have text in the body use this then .TextBody = ""&lt;br /&gt;&lt;br /&gt;Note: It is always possible that your firewall block the code (Check your firewall settings)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Can you use CDO on your machine?&lt;br /&gt;&lt;br /&gt;Let's try a basic example first.&lt;br /&gt;&lt;br /&gt;The code below will send four text lines in the body of the mail to the person in this line&lt;br /&gt;.To = "ron@debruin.nl"&lt;br /&gt;&lt;br /&gt;Change ron@debruin.nl to your own mail address before you test the code.&lt;br /&gt;If you read the information above you know that if you have a account in Outlook Express or&lt;br /&gt;Windows Mail you can Run the code below after changing the mail address.&lt;br /&gt;But if you not have a account in Outlook Express or Windows Mail you also need the commented&lt;br /&gt;green lines in the code. Remove every ' before every green line and fill in the name of your SMTP server&lt;br /&gt;where it says "Fill in your SMTP server here"&lt;br /&gt;&lt;br /&gt;1) Open a new workbook&lt;br /&gt;2) Alt F11 (to open the VBA editor)&lt;br /&gt;3) Insert&gt;Module&lt;br /&gt;4) Paste the code in this module&lt;br /&gt;5) Make your changes&lt;br /&gt;6) Alt q to go back to Excel&lt;br /&gt;&lt;br /&gt;When you use Alt F8 you can select the macro and press Run.&lt;br /&gt;Now wait a moment and see if you receive the mail in your inbox.&lt;br /&gt;&lt;br /&gt;Sub CDO_Mail_Small_Text()&lt;br /&gt;    Dim iMsg As Object&lt;br /&gt;    Dim iConf As Object&lt;br /&gt;    Dim strbody As String&lt;br /&gt;    '    Dim Flds As Variant&lt;br /&gt;&lt;br /&gt;    Set iMsg = CreateObject("CDO.Message")&lt;br /&gt;    Set iConf = CreateObject("CDO.Configuration")&lt;br /&gt;&lt;br /&gt;    '    iConf.Load -1    ' CDO Source Defaults&lt;br /&gt;    '    Set Flds = iConf.Fields&lt;br /&gt;    '    With Flds&lt;br /&gt;    '        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2&lt;br /&gt;    '        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") _&lt;br /&gt;    '                       = "Fill in your SMTP server here"&lt;br /&gt;    '        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25&lt;br /&gt;    '        .Update&lt;br /&gt;    '    End With&lt;br /&gt;&lt;br /&gt;    strbody = "Hi there" &amp; vbNewLine &amp; vbNewLine &amp; _&lt;br /&gt;              "This is line 1" &amp; vbNewLine &amp; _&lt;br /&gt;              "This is line 2" &amp; vbNewLine &amp; _&lt;br /&gt;              "This is line 3" &amp; vbNewLine &amp; _&lt;br /&gt;              "This is line 4"&lt;br /&gt;&lt;br /&gt;    With iMsg&lt;br /&gt;        Set .Configuration = iConf&lt;br /&gt;        .To = "ron@debruin.nl"&lt;br /&gt;        .CC = ""&lt;br /&gt;        .BCC = ""&lt;br /&gt;        .From = """Ron"" &lt;ron@something.nl&gt;"&lt;br /&gt;        .Subject = "Important message"&lt;br /&gt;        .TextBody = strbody&lt;br /&gt;        .Send&lt;br /&gt;    End With&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Use the GMail SMTP server from Google.&lt;br /&gt;http://gmail.google.com&lt;br /&gt;&lt;br /&gt;You can find the code in the workbook with examples that you can download below.&lt;br /&gt;There is more information about the code in the workbook.&lt;br /&gt;Note: You must have a Gmail account to try this example.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Download workbook with more examples&lt;br /&gt;&lt;br /&gt;You can download a example workbook with eighth examples.&lt;br /&gt;Download Example workbook with all the code&lt;br /&gt;&lt;br /&gt;Attachment examples:&lt;br /&gt;Module file1 = Workbook&lt;br /&gt;Module file2 = One worksheet or more&lt;br /&gt;Module file3 = Every sheet with a mail address in cell A1&lt;br /&gt;&lt;br /&gt;Body examples:&lt;br /&gt;Module body1 = Selection/Range or whole worksheet&lt;br /&gt;Module body2 = Personalized Mail&lt;br /&gt;Module body3 = Every sheet with a mail address in cell A1&lt;br /&gt;Module body4 = Small text and text from a txt file&lt;br /&gt;&lt;br /&gt;Note: the body examples in the workbook are using the function RangetoHTML in&lt;br /&gt;the "bodyfunction" module of the workbook.&lt;br /&gt;&lt;br /&gt;Gmail example:&lt;br /&gt;Module gmail = Use the smtp.gmail.com server from Gmail to send mail&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tips and links&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CDO sheet template&lt;br /&gt;&lt;br /&gt;Check out this sheet template if you want to send every sheet to a different person.&lt;br /&gt;Or want to send one or more sheets to one or more recipient.&lt;br /&gt;http://www.rondebruin.nl/mail/templates.htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Set importance/priority and request read receipt&lt;br /&gt;&lt;br /&gt;For importance/priority and read receipt you can add this in the With iMsg part of the macro before .Send&lt;br /&gt;&lt;br /&gt;' Set importance or Priority to high&lt;br /&gt;.Fields("urn:schemas:httpmail:importance") = 2&lt;br /&gt;.Fields("urn:schemas:mailheader:X-Priority") = 1&lt;br /&gt;&lt;br /&gt;' Request read receipt&lt;br /&gt;.Fields("urn:schemas:mailheader:return-receipt-to") = "ron@debruin.nl"&lt;br /&gt;.Fields("urn:schemas:mailheader:disposition-notification-to") = "ron@debruin.nl"&lt;br /&gt;&lt;br /&gt;' Update fields&lt;br /&gt;.Fields.Update&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Changing the To line&lt;br /&gt;&lt;br /&gt;If you want to mail to all E-mail addresses in a range then use this code&lt;br /&gt;instead of .To = "ron@debruin.nl"&lt;br /&gt;&lt;br /&gt;The example below will use the cells from sheets("Sheet1") in ThisWorkbook (workbook with the code)&lt;br /&gt;It is possible that you must use ActiveWorkbook or something else in your code to use it.&lt;br /&gt;&lt;br /&gt;    Dim cell As Range&lt;br /&gt;    Dim strto As String&lt;br /&gt;    On Error Resume Next&lt;br /&gt;    For Each cell In ThisWorkbook.Sheets("Sheet1") _&lt;br /&gt;        .Range("A1:A10").Cells.SpecialCells(xlCellTypeConstants)&lt;br /&gt;        If cell.Value Like "?*@?*.?*" Then&lt;br /&gt;            strto = strto &amp; cell.Value &amp; ";"&lt;br /&gt;        End If&lt;br /&gt;    Next cell&lt;br /&gt;    On Error GoTo 0&lt;br /&gt;    If Len(strto) &gt; 0 Then strto = Left(strto, Len(strto) - 1)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Change the To line to .To = strto&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Or to more people&lt;br /&gt;.To = "Jon@something.com;ron@something.com"&lt;br /&gt;&lt;br /&gt;Or you can use a address in a cell like this&lt;br /&gt;.To = Sheets("Sheet1").Range("C1").Value&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Change the Body line&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Plain text :&lt;br /&gt;&lt;br /&gt;Note: see also the example in the workbook to send all text from a txt file (Module body4)&lt;br /&gt;&lt;br /&gt;If you want to add more text to the body then you can use the code below.&lt;br /&gt;Instead of .TextBody = "This is the body text" use .TextBody = strbody then.&lt;br /&gt;&lt;br /&gt;Dim strbody As String&lt;br /&gt;strbody = "Hi there" &amp; vbNewLine &amp; vbNewLine &amp; _&lt;br /&gt;    "This is line 1" &amp; vbNewLine &amp; _&lt;br /&gt;    "This is line 2" &amp; vbNewLine &amp; _&lt;br /&gt;    "This is line 3" &amp; vbNewLine &amp; _&lt;br /&gt;    "This is line 4"&lt;br /&gt;&lt;br /&gt;Or use this if you want to use cell values&lt;br /&gt;&lt;br /&gt;Dim cell As Range&lt;br /&gt;Dim strbody As String&lt;br /&gt;For Each cell In Sheets("Sheet1").Range("C1:C20")&lt;br /&gt;    strbody = strbody &amp; cell.Value &amp; vbNewLine&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;Or this one&lt;br /&gt;&lt;br /&gt;Dim strbody As String&lt;br /&gt;With Sheets("Sheet1")&lt;br /&gt;    strbody = "Hi there" &amp; vbNewLine &amp; vbNewLine &amp; _&lt;br /&gt;        .Range("A1") &amp; vbNewLine &amp; _&lt;br /&gt;        .Range("A2") &amp; vbNewLine &amp; _&lt;br /&gt;        .Range("A3") &amp; vbNewLine &amp; _&lt;br /&gt;        .Range("A4")&lt;br /&gt;End With&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Links&lt;br /&gt;&lt;br /&gt;.TextBody = "file://Yourcomputer/YourFolder/Week2.xls"&lt;br /&gt;&lt;br /&gt;'If there are spaces use %20&lt;br /&gt;.TextBody = "file://Yourcomputer/YourFolder/Week%202.xls"&lt;br /&gt;&lt;br /&gt;'Example for a file on a website&lt;br /&gt;.TextBody = "http://www.rondebruin.nl/files/EasyFilter.zip"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;HTML text :&lt;br /&gt;&lt;br /&gt;If you want to create emails that are formatted you can use HTMLBody (Office 2000 and up) instead of TextBody. You can find a lot of WebPages on the internet with more HTML tags examples.&lt;br /&gt;&lt;br /&gt;.HTMLBody = "&lt;H3&gt;&lt;B&gt;Dear Ron de Bruin&lt;/B&gt;&lt;/H3&gt;" &amp; _&lt;br /&gt;"Please visit this website to download an update.&lt;BR&gt;" &amp; _&lt;br /&gt;"&lt;A HREF=""http://www.rondebruin.nl/""&gt;Ron's Excel Page&lt;/A&gt;"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tip: Or send a complete webpage, instead of HTMLBody or TextBody use&lt;br /&gt;&lt;br /&gt;.CreateMHTMLBody "http://www.rondebruin.nl/copy1.htm"&lt;br /&gt;&lt;br /&gt;Or file on your computer&lt;br /&gt;.CreateMHTMLBody "file://C:/test.htm"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Copy the cells as values&lt;br /&gt;&lt;br /&gt;If you want to paste as values the sheet must be unprotected!!!!!&lt;br /&gt;Or Unprotect and Protect the sheet in the Sub also.&lt;br /&gt;&lt;br /&gt;See this page for example code that you can use&lt;br /&gt;http://www.rondebruin.nl/values.htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Test if you are online&lt;br /&gt;&lt;br /&gt;You can use code like this in your subroutine to avoid errors if you run the code&lt;br /&gt;when you are not online (example below is for a dial up connection)&lt;br /&gt;&lt;br /&gt;For checking other connections check out this great website.&lt;br /&gt;http://vbnet.mvps.org/&lt;br /&gt;&lt;br /&gt;Public Declare Function InternetGetConnectedState _&lt;br /&gt;                         Lib "wininet.dll" (lpdwFlags As Long, _&lt;br /&gt;                                            ByVal dwReserved As Long) As Boolean&lt;br /&gt;&lt;br /&gt;Function IsConnected() As Boolean&lt;br /&gt;    Dim Stat As Long&lt;br /&gt;    IsConnected = (InternetGetConnectedState(Stat, 0&amp;) &lt;&gt; 0)&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Sub Test()&lt;br /&gt;' Randy Birch&lt;br /&gt;    If IsConnected = True Then&lt;br /&gt;        MsgBox "Copy your mail code here"&lt;br /&gt;    Else&lt;br /&gt;        MsgBox "You can't use this subroutine because you are not online"&lt;br /&gt;    End If&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Links to more information about CDO for windows 2000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MSDN&lt;br /&gt;Search for "CDO for Windows 2000" on MSDN&lt;br /&gt;&lt;br /&gt;Paul R. Sadowski&lt;br /&gt;http://www.paulsadowski.com/WSH/cdo.htm&lt;br /&gt;&lt;br /&gt;www.aspfaq.com&lt;br /&gt;http://www.aspfaq.com/show.asp?id=2026&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-9215634800983066260?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/9215634800983066260/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=9215634800983066260' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/9215634800983066260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/9215634800983066260'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/05/e-mail-pelo-excel-ii.html' title='E-mail pelo Excel - II'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-5014493606505567556</id><published>2009-04-16T22:30:00.002-03:00</published><updated>2009-04-16T22:31:26.549-03:00</updated><title type='text'>Capturar o nome do usuário via VBA</title><content type='html'>Muito simples e útil, principalmente quando se precisa de algum tipo diferenciado de acesso conforme o usuário:&lt;br /&gt;&lt;br /&gt;    Dim usuario As String&lt;br /&gt;    usuario = VBA.Environ("username")&lt;br /&gt;    MsgBox usuario&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-5014493606505567556?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/5014493606505567556/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=5014493606505567556' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5014493606505567556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5014493606505567556'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/04/capturar-o-nome-do-usuario-via-vba.html' title='Capturar o nome do usuário via VBA'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3999952510102878716</id><published>2009-04-10T00:13:00.003-03:00</published><updated>2009-04-10T00:45:52.336-03:00</updated><title type='text'>Minha opinião sobre o Office 2007</title><content type='html'>Depois de 3 meses trabalhando de segunda a sexta com a dupla "Windows Vista + Office 2007", cheguei as seguintes conclusões:&lt;br /&gt;- É tempo suficiente para formar uma opinião sobre os produtos;&lt;br /&gt;- O Windows Vista é um "comilão" de recursos do hardware sem nada dar em troca do que consome, ou seja, é preciso uma máquina de ponta para ter o Vista e tudo o que você vai ter em troca são apenas alguns recursos visuais "mais bonitinhos". Nada mais;&lt;br /&gt;- O Office 2007 também tem um visual muito mais atraente que a versão anterior, mas para usuários comuns, leia-se "no máximo intermediários", oferece muito pouco pelo que consome;&lt;br /&gt;- A mudança do tradicional menu + barra de ferramentas para a faixa de opções, foi uma mudança infeliz que só dificulta a vida do usuário. E não digam que eu não tentei: personalizei a faixa de opções ao máximo para me adaptar e mesmo assim, depois de 3 meses de uso direto, ainda preciso procurar determinados comandos/recursos;&lt;br /&gt;- Já comentei em algum post no passado que, para a maior parte dos usuários, ainda hoje o Office 97 seria mais que suficiente para o dia a dia e continuo com a mesma opinião. Para que migrar da versão em uso, seja ela 2002 (XP), 2003 ou 2000, para a versão 2007 se você não precisa dos recursos que a nova versão lhe oferece? Por exemplo, é muito bom ter 1 milhão de linhas no Excel, mas quem usa tudo isso?&lt;br /&gt;- Sinceramente, esperava mais do Access 2007 em termos de capacidade e confiabilidade. Meus bancos de dados atuais corrompem com uma frequencia maior do que os criados com o Access 2003 e continuo limitado a 2 Gb;&lt;br /&gt;&lt;br /&gt;Resumindo:&lt;br /&gt;A melhor combinação para TRABALHO ainda é o Windows XP + Office 2003.&lt;br /&gt;Palavra de quem usa Vista + Office 2007 todos os dias e não de quem usou algumas vezes para formar a opinião.&lt;br /&gt;&lt;br /&gt;Abs!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3999952510102878716?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3999952510102878716/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3999952510102878716' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3999952510102878716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3999952510102878716'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/04/minha-opiniao-sobre-o-office-2007.html' title='Minha opinião sobre o Office 2007'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8033066324569648470</id><published>2009-03-07T12:36:00.001-03:00</published><updated>2009-03-07T12:38:36.343-03:00</updated><title type='text'>Criando uma pausa na execução do código</title><content type='html'>Código muito simples, dispensa maiores explicações.&lt;br /&gt;Já vi gente fazendo um "For - Next" sem nada dentro do looping (até funciona...) mas esta é uma solução mais "elegante"!&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)&lt;br /&gt;&lt;br /&gt;Public Sub Pausa(ByVal segundos As Single)&lt;br /&gt;     Call Sleep(Int(segundos * 1000#))&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8033066324569648470?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8033066324569648470/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8033066324569648470' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8033066324569648470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8033066324569648470'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/03/criando-uma-pausa-na-execucao-do-codigo.html' title='Criando uma pausa na execução do código'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-6208275300481326717</id><published>2009-03-07T12:27:00.003-03:00</published><updated>2009-03-07T12:34:24.133-03:00</updated><title type='text'>Fechando um processo no TaskManager</title><content type='html'>A automação no Office nos permite controlar outros aplicativos, mas existe um pequeno "problema" já comentado aqui em um post anterior: mesmo finalizando o aplicativo controlado com "Application.quit" ou limpando a váriavel com "Set var_aplicativo = nothing", o processo continua ativo no gerenciador de tarefas do Windows (TaskManager), o que por vezes pode resultar em erro quando se executa o código duas vezes.&lt;br /&gt;Não sei se isso é um bug ou uma caracterítica do recurso, mas vou deixar aqui um código que elimina o problema.&lt;br /&gt;Obs.: o código &lt;span style="font-weight:bold;"&gt;não&lt;/span&gt; foi escrito por mim, consegui-o nas inúmeras pesquisas pela internet e estou apenas repassando aqui. Já utilizei-o por várias vezes, sempre com sucesso.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;'Para usar - exemplo:&lt;br /&gt;'Call Closeprocess("Excel.exe")&lt;br /&gt;&lt;br /&gt;================================&lt;br /&gt;&lt;br /&gt;Option Explicit&lt;br /&gt;&lt;br /&gt;Public Const TH32CS_SNAPPROCESS As Long = 2&amp;&lt;br /&gt;Public Const MAX_PATH As Long = 260&lt;br /&gt;&lt;br /&gt;Public Type PROCESSENTRY32&lt;br /&gt;   dwSize As Long&lt;br /&gt;   cntUsage As Long&lt;br /&gt;   th32ProcessID As Long&lt;br /&gt;   th32DefaultHeapID As Long&lt;br /&gt;   th32ModuleID As Long&lt;br /&gt;   cntThreads As Long&lt;br /&gt;   th32ParentProcessID As Long&lt;br /&gt;   pcPriClassBase As Long&lt;br /&gt;   dwFlags As Long&lt;br /&gt;   szExeFile As String * MAX_PATH&lt;br /&gt;End Type&lt;br /&gt;&lt;br /&gt;Public Const PROCESS_ALL_ACCESS As Long = &amp;H1F0FFF&lt;br /&gt;&lt;br /&gt;Public Declare Function CreateToolhelp32Snapshot Lib "kernel32" _&lt;br /&gt;  (ByVal lFlags As Long, ByVal lProcessID As Long) As Long&lt;br /&gt;Public Declare Function ProcessFirst Lib "kernel32" _&lt;br /&gt;   Alias "Process32First" _&lt;br /&gt;  (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long&lt;br /&gt;Public Declare Function ProcessNext Lib "kernel32" _&lt;br /&gt;   Alias "Process32Next" _&lt;br /&gt;  (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long&lt;br /&gt;Public Declare Function OpenProcess Lib "kernel32" _&lt;br /&gt;  (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _&lt;br /&gt;   ByVal dwProcessId As Long) As Long&lt;br /&gt;Public Declare Function TerminateProcess Lib "kernel32" _&lt;br /&gt;  (ByVal hProcess As Long, ByVal uExitCode As Long) As Long&lt;br /&gt;Public Declare Sub CloseHandle Lib "kernel32" _&lt;br /&gt;  (ByVal hPass As Long)&lt;br /&gt;&lt;br /&gt;Public Function CloseProcess(EXEName As String) As Boolean&lt;br /&gt;&lt;br /&gt;  Dim hSnapShot  As Long&lt;br /&gt;  Dim uProcess   As PROCESSENTRY32&lt;br /&gt;  Dim hProcess   As Long&lt;br /&gt;&lt;br /&gt;  CloseProcess = False&lt;br /&gt;  hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&amp;)&lt;br /&gt;  If hSnapShot = -1 Then Exit Function&lt;br /&gt;&lt;br /&gt;  uProcess.dwSize = Len(uProcess)&lt;br /&gt;  If ProcessFirst(hSnapShot, uProcess) = 1 Then&lt;br /&gt;     Do&lt;br /&gt;        If LCase$(Left$(uProcess.szExeFile, InStr(1, uProcess.szExeFile, vbNullChar) - 1)) _&lt;br /&gt;           = LCase$(EXEName) Then&lt;br /&gt;           hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, uProcess.th32ProcessID)&lt;br /&gt;           CloseProcess = TerminateProcess(hProcess, ByVal 0&amp;) &gt; 0&lt;br /&gt;           Exit Do&lt;br /&gt;        End If&lt;br /&gt;     Loop While ProcessNext(hSnapShot, uProcess)&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  Call CloseHandle(hSnapShot)&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-6208275300481326717?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/6208275300481326717/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=6208275300481326717' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6208275300481326717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6208275300481326717'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/03/fechando-um-processo-no-taskmanager.html' title='Fechando um processo no TaskManager'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-2575394421033352035</id><published>2009-03-07T12:16:00.004-03:00</published><updated>2009-03-07T12:26:19.075-03:00</updated><title type='text'>A partir de uma planilha, ler dados de outra via ADO</title><content type='html'>Arquivos XLS não são multiusuários por natureza.&lt;br /&gt;O Excel até permite o compartilhamento, via Ferramentas &gt; Compartilhar Pasta de Trabalho, mas são tantos detalhes que precisam ser observados que o usuário precisa se adaptar ao recurso, sendo que na verdade o recurso deveria facilitar a vida dele.&lt;br /&gt;Recentemente precisei fazer um sistema onde ocorria a leitura de dados de vários XLS's para gravar num outro XLS e este por sua vez, poderia estar aberto no momento da gravação.&lt;br /&gt;Depois de pesquisar, escrever muido código e testar bastante, cheguei a conclusão de que a melhor forma era utilizar o Active Data Objects.&lt;br /&gt;Segue um exemplo de código para leitura de dados de um arquivo XLS a partir de outro.&lt;br /&gt;O melhor de tudo é que podemos utilizar a sintaxe SQL nos comandos, com algumas poucas adaptações é claro, que fará com que os desenvolvedores de banco de dados se sintam bem à vontade.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Dim cnn As ADODB.Connection&lt;br /&gt;Dim rst As ADODB.Recordset&lt;br /&gt;Dim ssql As String&lt;br /&gt;Sub teste()&lt;br /&gt;    'cria uma conexão ADO&lt;br /&gt;    Set cnn = New ADODB.Connection&lt;br /&gt;    Set rst = New ADODB.Recordset&lt;br /&gt;&lt;br /&gt;    'Na string de conexão, o caracter "aspas duplas" é substituído pelo&lt;br /&gt;    'correspondente em ASCII -&gt; Chr(34)&lt;br /&gt;    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Planilha.xls" &amp; _&lt;br /&gt;    ";Extended Properties=" &amp; Chr(34) &amp; "Excel 8.0;HDR=Yes" &amp; Chr(34)&lt;br /&gt;&lt;br /&gt;    'abre o recordset pelo nome da planilha&lt;br /&gt;    'Obs.:&lt;br /&gt;    '- No comando SELECT o nome da planilha vai entre chaves e &lt;br /&gt;    'com um "$" no final do nome&lt;br /&gt;    &lt;br /&gt;    Set rst = cnn.Execute("Select * from [plan1$]")&lt;br /&gt;    &lt;br /&gt;    MsgBox rst(0)&lt;br /&gt;    &lt;br /&gt;    rst.Close&lt;br /&gt;    cnn.Close&lt;br /&gt;    &lt;br /&gt;    Set rst = Nothing&lt;br /&gt;    Set cnn = Nothing&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-2575394421033352035?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/2575394421033352035/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=2575394421033352035' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2575394421033352035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2575394421033352035'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/03/partir-de-uma-planilha-ler-dados-de.html' title='A partir de uma planilha, ler dados de outra via ADO'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-6780472438688014870</id><published>2009-03-07T11:54:00.003-03:00</published><updated>2009-03-07T11:58:58.196-03:00</updated><title type='text'>Importação de arquivos CSV via ADO</title><content type='html'>Depois que aprendi a trabalhar com o ADO(Active Data Objects), vi que trata-se de um recurso muito flexível e principalmente, fácil de utilizar.&lt;br /&gt;Postarei em breve vários exemplos de utilização do ADO no VBA.&lt;br /&gt;Esta é a dica para importar arquivos texto com os campos separados por vírgula (CSV - Comma Separated Values). Basta copiar o código e ajustar o caminho/nome do arquivo csv:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Option Explicit&lt;br /&gt;&lt;br /&gt;Private Sub importa()&lt;br /&gt;&lt;br /&gt;    Dim cnn As New ADODB.Connection&lt;br /&gt;    Dim rst As New ADODB.Recordset&lt;br /&gt;    Dim adcomm As New ADODB.Command&lt;br /&gt;    Dim caminho As String&lt;br /&gt;    Dim linha As Integer&lt;br /&gt;    Dim coluna As Integer&lt;br /&gt;   &lt;br /&gt;    caminho = "D:\paulo\Projetos VB\ADO Arquivo Texto\"&lt;br /&gt;   &lt;br /&gt;    'Conexão para arquivo texto sem cabeçalho:&lt;br /&gt;    'connCSV.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _&lt;br /&gt;    '&amp;amp; caminho &amp;amp; ";Extended Properties='text;HDR=NO;FMT=Delimited'"&lt;br /&gt;   &lt;br /&gt;    'Conexão para arquivo texto com cabeçalho e colunas&lt;br /&gt;    cnn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" _&lt;br /&gt;    &amp;amp; caminho &amp;amp; ";Extensions=asc,csv,tab,txt;HDR=NO;Persist Security Info=False"&lt;br /&gt;       &lt;br /&gt;    rst.Open "Select * From TesteDeDados.txt", cnn, adOpenStatic, adLockReadOnly, adCmdText&lt;br /&gt;   &lt;br /&gt;    linha = 1&lt;br /&gt;    coluna = 1&lt;br /&gt;    Do While Not rst.EOF&lt;br /&gt;        Cells(linha, coluna).Value = rst(0)&lt;br /&gt;        Cells(linha, coluna + 1).Value = rst(1)&lt;br /&gt;        rst.MoveNext&lt;br /&gt;        linha = linha + 1&lt;br /&gt;    Loop&lt;br /&gt;   &lt;br /&gt;    cnn.Close&lt;br /&gt;    Set cnn = Nothing&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-6780472438688014870?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/6780472438688014870/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=6780472438688014870' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6780472438688014870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6780472438688014870'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/03/importacao-de-arquivos-csv-via-ado.html' title='Importação de arquivos CSV via ADO'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-6179128194248902432</id><published>2009-02-28T19:04:00.003-03:00</published><updated>2009-02-28T19:18:58.719-03:00</updated><title type='text'>Integração entre os aplicativos do Office</title><content type='html'>Semana passada, precisei desenvolver um programa para enviar e-mails para mais ou menos 350 destinatários, anexando a cada um deles um arquivo XLS.&lt;br /&gt;Até aí, nada demais, muita gente já fez isso e achei que não seria difícil para mim também.&lt;br /&gt;Depois de algumas horas escrevendo o código no Excel, deparei com alguns problemas já conhecidos da automação, como por exemplo, o fato de não poder ter outra instância do Excel aberta durante a execução do código.&lt;br /&gt;Quem já fez, sabe que "set objeto_Excel = nothing" não "mata" o processo no taskmanager...&lt;br /&gt;Enviar e-mails pelo Access geraria outros problemas (imagino eu...) que logo descartei essa opção.&lt;br /&gt;Enfim, resolvi combinar os aplicativos e partir para a solução mais simples:&lt;br /&gt;- Geração das planilhas que iriam anexas nos e-mails: usei o Access para exportar os dados no formato XLS;&lt;br /&gt;- Usei o VBA no Outlook para obter os e-mails dos destinatários numa tabela do Access via ADO.&lt;br /&gt;Moleza...&lt;br /&gt;350 e-mails enviados em 5 minutos (o nosso servidor Exchange é muito rápido e colaborou).&lt;br /&gt;&lt;br /&gt;Consultem o help do VBA no Outlook para ver como é simples.&lt;br /&gt;Qualquer dúvida, entrem em contato.&lt;br /&gt;&lt;br /&gt;abs!&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-6179128194248902432?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/6179128194248902432/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=6179128194248902432' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6179128194248902432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6179128194248902432'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/02/integracao-entre-os-aplicativos-do.html' title='Integração entre os aplicativos do Office'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-4468402995168137702</id><published>2009-01-26T19:41:00.002-03:00</published><updated>2009-01-26T19:43:47.710-03:00</updated><title type='text'>Montagem de cabo cross-over</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UimvP7Ic-vQ/SX48YX3JpWI/AAAAAAAAAQ0/LUUT1icKeA0/s1600-h/coss.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 317px; height: 384px;" src="http://3.bp.blogspot.com/_UimvP7Ic-vQ/SX48YX3JpWI/AAAAAAAAAQ0/LUUT1icKeA0/s400/coss.JPG" alt="" id="BLOGGER_PHOTO_ID_5295736601254143330" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-4468402995168137702?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/4468402995168137702/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=4468402995168137702' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4468402995168137702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4468402995168137702'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2009/01/montagem-de-cabo-cross-over.html' title='Montagem de cabo cross-over'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UimvP7Ic-vQ/SX48YX3JpWI/AAAAAAAAAQ0/LUUT1icKeA0/s72-c/coss.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-1706021709129648419</id><published>2008-10-26T09:22:00.003-03:00</published><updated>2008-10-26T09:25:58.986-03:00</updated><title type='text'>Problemas de inicialização - Windows XP</title><content type='html'>Esta dica é do grande amigo Sames Davis e vou deixar registrado para não ficar procurando toda hora no Google...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A inicialização do Windows necessita da MBR que é a sigla para Master Boot Record, ou Registro Mestre de Boot.&lt;br /&gt;O MBR fica no setor 0 do HD e armazena as descrições das partições e informa o BIOS durante a inicialização ( Boot ).&lt;br /&gt;&lt;br /&gt;Sem MBR, nada de partições do disco rígido e se ela estiver corrompida, o Windows não irá funcionar.&lt;br /&gt;&lt;br /&gt;Algumas causas em um caso de corrupção da MBR:&lt;br /&gt;&lt;br /&gt;    * Vírus;&lt;br /&gt;    * Desligamento direto no estabilizador;&lt;br /&gt;    * Pico de energia;&lt;br /&gt;    * Falta de energia;&lt;br /&gt;    * HD danificado&lt;br /&gt;&lt;br /&gt;      Segue um pequeno passo a passo de como tentar corrigir:&lt;br /&gt;      1.        Dê boot com o cd do Windows;&lt;br /&gt;      2.        Tecle R ( reparação ) para entrar no console de recuperação;&lt;br /&gt;      3.        Se for solicitado em qual sistema deseja se conectar, escolha a opção do Windows;&lt;br /&gt;      4.        Irá aparecer uma tela preta ( DOS ) , digite os seguintes comandos para corrigir&lt;br /&gt;      5.        Digite FIXBOOT e confirme com Y&lt;br /&gt;      6.        Digite FIXMBR e confirme com Y&lt;br /&gt;      7.        Digite EXIT para reiniciar o micro&lt;br /&gt;      8.        Se o problema ainda continuar, entre novamente no console de recuperação&lt;br /&gt;      9.        Desta vez, além do FIXBOOT e FIXMBR, digite CHKDSK C: /P /R&lt;br /&gt;      10.        Espere +/- 20 minutos para que seja feita a correção ( esse tempo é para HD de 80GB )&lt;br /&gt;      11.        Caso o problema ainda persista, tente salvar os dados usando um cd do Linux ou Hiren's CD&lt;br /&gt;      12.        Caso não seja possível acessar o HD, a solução será reinstalar o Windows.&lt;br /&gt;      Sames Davis&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-1706021709129648419?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/1706021709129648419/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=1706021709129648419' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1706021709129648419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/1706021709129648419'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2008/10/problemas-de-inicializao-windows-xp.html' title='Problemas de inicialização - Windows XP'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3360540586157788314</id><published>2008-10-10T17:15:00.002-03:00</published><updated>2008-10-10T17:21:15.812-03:00</updated><title type='text'>Dica de livro</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_UimvP7Ic-vQ/SO-5KLztxgI/AAAAAAAAALU/QAr4H9O_TMI/s1600-h/451255.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_UimvP7Ic-vQ/SO-5KLztxgI/AAAAAAAAALU/QAr4H9O_TMI/s400/451255.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5255622874784187906" /&gt;&lt;/a&gt;&lt;br /&gt;Tempos atrás, eu emprestei este livro de um amigo para dar uma olhada e achei que era muito complexo para um principiante como eu.&lt;br /&gt;Hoje com um pouco mais de experiência, vejo o livro com outros olhos e recomendo para quem quer se aprofundar no VBA do Excel e também para tê-lo como fonte de consulta.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3360540586157788314?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3360540586157788314/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3360540586157788314' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3360540586157788314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3360540586157788314'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2008/10/dica-de-livro.html' title='Dica de livro'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UimvP7Ic-vQ/SO-5KLztxgI/AAAAAAAAALU/QAr4H9O_TMI/s72-c/451255.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-6834014634985340114</id><published>2008-09-24T22:31:00.003-03:00</published><updated>2008-09-24T22:39:17.813-03:00</updated><title type='text'>Listar arquivos de uma pasta</title><content type='html'>Já era tempo de começar a postar dicas de VBA...&lt;br /&gt;"Abrindo" a nova fase, segue um código que eu uso para listar e catalogar meus mp3's.&lt;br /&gt;Código bem simples e com alguns comentários para facilitar o entendimento:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Sub lista_arquivos()&lt;br /&gt;    Dim pasta As String&lt;br /&gt;    Dim linha As Integer&lt;br /&gt;    Dim arquivo As String&lt;br /&gt;    linha = 1&lt;br /&gt;        &lt;br /&gt;    'Pega o caminho completo da pasta&lt;br /&gt;    pasta = InputBox("Digite o caminho da pasta")&lt;br /&gt;&lt;br /&gt;    'Cabeçalho&lt;br /&gt;    Cells.ClearContents&lt;br /&gt;    Cells(linha, 1) = "Nome do Arquivo"&lt;br /&gt;    Cells(linha, 2) = "Tamanho"&lt;br /&gt;    Cells(linha, 3) = "Data/Hora"&lt;br /&gt;    Range("A1:C1").Font.Bold = True&lt;br /&gt;    linha = linha + 1&lt;br /&gt;&lt;br /&gt;    'Lista o primeiro arquivo da pasta&lt;br /&gt;    'arquivo = Dir(pasta, 7)&lt;br /&gt;    arquivo = Dir(pasta, 7)&lt;br /&gt;    Cells(linha, 1) = arquivo&lt;br /&gt;    Cells(linha, 2) = FileLen(pasta &amp; arquivo)&lt;br /&gt;    Cells(linha, 3) = FileDateTime(pasta &amp; arquivo)&lt;br /&gt;&lt;br /&gt;    'Lista os arquivos restantes&lt;br /&gt;    Do While arquivo &lt;&gt; ""&lt;br /&gt;        arquivo = Dir&lt;br /&gt;        If arquivo &lt;&gt; "" Then&lt;br /&gt;            linha = linha + 1&lt;br /&gt;            Cells(linha, 1) = arquivo&lt;br /&gt;            Cells(linha, 2) = FileLen(pasta &amp; arquivo)&lt;br /&gt;            Cells(linha, 3) = FileDateTime(pasta &amp; arquivo)&lt;br /&gt;        End If&lt;br /&gt;    Loop&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-6834014634985340114?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/6834014634985340114/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=6834014634985340114' title='6 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6834014634985340114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/6834014634985340114'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2008/09/listar-arquivos-de-uma-pasta.html' title='Listar arquivos de uma pasta'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-2787193936921030650</id><published>2008-07-30T01:20:00.002-03:00</published><updated>2008-07-30T01:24:54.432-03:00</updated><title type='text'>Substituir o asterisco numa planilha</title><content type='html'>&lt;a href="http://bp1.blogger.com/_UimvP7Ic-vQ/SI_s-ygFqaI/AAAAAAAAAK8/MhWWom1g5mA/s1600-h/imagem.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5228658255852841378" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_UimvP7Ic-vQ/SI_s-ygFqaI/AAAAAAAAAK8/MhWWom1g5mA/s320/imagem.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Esta pergunta foi feita num dos grupos de discussão que participo e vou deixar registrado aqui.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Ao substituir um determinado caracter, basta clicar em Editar &gt; Substituir, preencher os campos na caixa de diálogo que se abre e em seguida executar.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;O "problema" é quando se precisa substituir um caracter "curinga" como o asterisco. Nesses casos, o Excel entende que é para substituir tudo (*) e o resultado não sai como desejado.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Para essas situações particulares, basta colocar um til (~) antes do asterisco.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Veja na figura.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;:-)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-2787193936921030650?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/2787193936921030650/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=2787193936921030650' title='8 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2787193936921030650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/2787193936921030650'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2008/07/substituir-o-asterisco-numa-planilha.html' title='Substituir o asterisco numa planilha'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_UimvP7Ic-vQ/SI_s-ygFqaI/AAAAAAAAAK8/MhWWom1g5mA/s72-c/imagem.JPG' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-5857843238653128344</id><published>2008-06-16T21:59:00.003-03:00</published><updated>2008-06-16T22:09:36.597-03:00</updated><title type='text'>VBA - Como encontrar a última linha preenchida nuna coluna?</title><content type='html'>Esta é mais uma daquelas que tem mil e uma maneiras de fazer, vou mostrar apenas uma delas.&lt;br /&gt;Quem programa em VBA, principalmente nos casos de inserção de dados, sempre precisa saber onde está o último dado da coluna para gravar o novo valor na célula logo abaixo.&lt;br /&gt;Como descobrir qual é a última célula preenchida de uma coluna?&lt;br /&gt;Veja a função abaixo:&lt;br /&gt;&lt;br /&gt;Function ultima_linha()&lt;br /&gt;Dim linha As Long&lt;br /&gt;linha = 2&lt;br /&gt;Do While linha &lt;&gt; 0&lt;br /&gt;linha = linha + 1&lt;br /&gt;Loop&lt;br /&gt;ultima_linha = linha&lt;br /&gt;MsgBox ultima_linha&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;"Trocando em miúdos"...&lt;br /&gt;Enquanto o tamanho do texto da célula for maior que zero (o que significa que a célula está preenchida com algum valor), incremente 1 no contador (que se chama "linha") e execute o comparativo na próxima linha.&lt;br /&gt;Como inicia em 2, no momento em que o tamanho do texto da célula for igual a zero, o procedimento é encerrado e a linha em branco é a que o contador indicar.&lt;br /&gt;&lt;br /&gt;:-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-5857843238653128344?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/5857843238653128344/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=5857843238653128344' title='5 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5857843238653128344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5857843238653128344'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2008/06/vba-como-encontrar-ltima-linha.html' title='VBA - Como encontrar a última linha preenchida nuna coluna?'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-5550424684333966584</id><published>2008-05-07T00:43:00.002-03:00</published><updated>2008-05-07T00:49:47.236-03:00</updated><title type='text'>Comparando planilhas</title><content type='html'>&lt;a href="http://bp1.blogger.com/_UimvP7Ic-vQ/SCEmvYNZ0uI/AAAAAAAAAK0/p93-drYTGK8/s1600-h/imagem.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5197478040356639458" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_UimvP7Ic-vQ/SCEmvYNZ0uI/AAAAAAAAAK0/p93-drYTGK8/s320/imagem.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;É comum comparar planilhas cujos cabeçalhos de linha ou coluna são iguais, mas os dados referem-se a períodos diferentes.&lt;/div&gt;&lt;div&gt;Uma forma rápida de se fazer isso, é abrir as duas planilhas e usar CTRL + TAB se estiverem em pastas diferentes ou CTRL + PgDown/Up se estiverem na mesma pasta.&lt;/div&gt;&lt;div&gt;Para facilitar ainda mais, o Excel oferece o recurso de comparar lado a lado no menu "Janela".&lt;/div&gt;&lt;div&gt;A opção "rolagem sincronizada" torna a tarefa ainda mais fácil e rápida.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-5550424684333966584?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/5550424684333966584/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=5550424684333966584' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5550424684333966584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5550424684333966584'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2008/05/comparando-planilhas.html' title='Comparando planilhas'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_UimvP7Ic-vQ/SCEmvYNZ0uI/AAAAAAAAAK0/p93-drYTGK8/s72-c/imagem.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3064361100373402771</id><published>2008-04-12T22:38:00.008-03:00</published><updated>2008-04-12T22:44:44.703-03:00</updated><title type='text'>Por onde já passei e trabalhei...</title><content type='html'>&lt;a href="http://bp2.blogger.com/_UimvP7Ic-vQ/SAFlUVlekBI/AAAAAAAAAKs/c2n8-8ZFFgk/s1600-h/5_0.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5188539645773647890" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_UimvP7Ic-vQ/SAFlUVlekBI/AAAAAAAAAKs/c2n8-8ZFFgk/s320/5_0.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://bp0.blogger.com/_UimvP7Ic-vQ/SAFlO1lekAI/AAAAAAAAAKk/8h8SaZ6SG28/s1600-h/95-7_0-pl.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5188539551284367362" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_UimvP7Ic-vQ/SAFlO1lekAI/AAAAAAAAAKk/8h8SaZ6SG28/s320/95-7_0-pl.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://bp3.blogger.com/_UimvP7Ic-vQ/SAFlIllej_I/AAAAAAAAAKc/lyyVABoYTbU/s1600-h/97.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5188539443910184946" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_UimvP7Ic-vQ/SAFlIllej_I/AAAAAAAAAKc/lyyVABoYTbU/s320/97.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_UimvP7Ic-vQ/SAFlBFlej-I/AAAAAAAAAKU/pW48pXeY_QA/s1600-h/2000-polish.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5188539315061166050" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_UimvP7Ic-vQ/SAFlBFlej-I/AAAAAAAAAKU/pW48pXeY_QA/s320/2000-polish.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://bp0.blogger.com/_UimvP7Ic-vQ/SAFk31lej9I/AAAAAAAAAKM/AMnpyYVhApI/s1600-h/2003.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5188539156147376082" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_UimvP7Ic-vQ/SAFk31lej9I/AAAAAAAAAKM/AMnpyYVhApI/s320/2003.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3064361100373402771?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3064361100373402771/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3064361100373402771' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3064361100373402771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3064361100373402771'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2008/04/por-onde-j-passei-e-trabalhei.html' title='Por onde já passei e trabalhei...'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_UimvP7Ic-vQ/SAFlUVlekBI/AAAAAAAAAKs/c2n8-8ZFFgk/s72-c/5_0.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-3329641175612662013</id><published>2008-04-12T22:12:00.003-03:00</published><updated>2008-04-12T22:20:16.942-03:00</updated><title type='text'>Números ordinais - cultura inútil ou não???</title><content type='html'>Estava pensando, quando chegasse à publicação da 200ª dica, como escrever ou ler "200ª"?&lt;br /&gt;Segue abaixo:&lt;br /&gt;&lt;br /&gt;1º = primeiro&lt;br /&gt;2º = segundo&lt;br /&gt;3º = terceiro&lt;br /&gt;4º = quarto&lt;br /&gt;5º = quinto&lt;br /&gt;6º = sexto&lt;br /&gt;7º = sétimo&lt;br /&gt;8º = oitavo&lt;br /&gt;9º = nono&lt;br /&gt;10º = décimo&lt;br /&gt;20º = vigésimo&lt;br /&gt;30º = trigésimo&lt;br /&gt;40º = quadragésimo&lt;br /&gt;50º = qüinquagésimo&lt;br /&gt;60º = sexagésimo&lt;br /&gt;70º = septuagésimo&lt;br /&gt;80º = octogésimo&lt;br /&gt;90º = nonagésimo&lt;br /&gt;100º = centésimo&lt;br /&gt;200º = ducentésimo&lt;br /&gt;300º = trecentésimo&lt;br /&gt;400º = quadringentésimo&lt;br /&gt;500º = qüingentésimo&lt;br /&gt;600º = seiscentésimo ou sexcentésimo&lt;br /&gt;700º = septingentésimo&lt;br /&gt;800º = octingentésimo&lt;br /&gt;900º = nongentésimo ou noningentésimo&lt;br /&gt;1000º = milésimo&lt;br /&gt;&lt;br /&gt;de 2000 em diante, lê-se o dois milésimo ou o segundo milésimo e assim por diante.&lt;br /&gt;&lt;br /&gt;Assim, seu eu estiver vivo ainda na 3367ª dica, poderei dizer tranquilamente:&lt;br /&gt;&lt;br /&gt;"Terceiro milésimo, trecentésima sexagésima sétima dica!"...&lt;br /&gt;&lt;br /&gt;Inútil?&lt;br /&gt;Que tal criar uma função para retornar o ordianal a partir do cardinal?&lt;br /&gt;Mais inútil ainda?&lt;br /&gt;Alguma utilidade deve ter!&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-3329641175612662013?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/3329641175612662013/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=3329641175612662013' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3329641175612662013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/3329641175612662013'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2008/04/nmeros-ordinais-cultura-intil-ou-no.html' title='Números ordinais - cultura inútil ou não???'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-5490276004149533975</id><published>2008-04-12T21:34:00.002-03:00</published><updated>2008-04-12T21:38:21.936-03:00</updated><title type='text'>Soma rápida</title><content type='html'>&lt;a href="http://bp1.blogger.com/_UimvP7Ic-vQ/SAFV4Flej5I/AAAAAAAAAJs/zHsz7_RDsT4/s1600-h/imagem.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5188522667767926674" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_UimvP7Ic-vQ/SAFV4Flej5I/AAAAAAAAAJs/zHsz7_RDsT4/s320/imagem.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Não sei já se postei esta dica, mas se não... ai vai:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Para obter rapidamente a soma de um intervalo, basta selecioná-lo e conferir o valor na barra de status. &lt;/div&gt;&lt;div&gt;Outras opções estão disponíveis, clique com o botão direito sobre mesma barra de status para conferir o que está disponível.&lt;/div&gt;&lt;div&gt;O bom é que, mesmo aplicando o Auto Filtro, os valores são calculados somente sobre os dados que estão visíveis.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;;-)&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-5490276004149533975?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/5490276004149533975/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=5490276004149533975' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5490276004149533975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5490276004149533975'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2008/04/soma-rpida.html' title='Soma rápida'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_UimvP7Ic-vQ/SAFV4Flej5I/AAAAAAAAAJs/zHsz7_RDsT4/s72-c/imagem.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8690745023617259064</id><published>2008-01-20T20:33:00.001-03:00</published><updated>2008-02-23T20:01:14.258-03:00</updated><title type='text'>Definindo o caminho (VB/VBA)</title><content type='html'>Para evitar a alteração do caminho de um arquivo dentro de um código toda vez que o aplicativo muda de pasta, basta usar um recurso muito útil do VB ou do VBA: o Path.&lt;br /&gt;No Excel: ThisWorkbook.Path&lt;br /&gt;No Access: CurrentProject.Path&lt;br /&gt;No Word: ThisDocument.Path&lt;br /&gt;No VB6: App.Path&lt;br /&gt;&lt;br /&gt;Assim, pode-se mudar o aplicativo de pasta sem ter de alterar o código em função dessa mudança.&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8690745023617259064?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8690745023617259064/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8690745023617259064' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8690745023617259064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8690745023617259064'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2008/01/definindo-o-caminho-vbvba.html' title='Definindo o caminho (VB/VBA)'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-5756528247505058515</id><published>2008-01-06T12:20:00.000-03:00</published><updated>2008-01-06T12:35:43.141-03:00</updated><title type='text'>Copiar rapidamente planilhas dentro da mesma pasta</title><content type='html'>&lt;a href="http://bp3.blogger.com/_UimvP7Ic-vQ/R4D00JCJjWI/AAAAAAAAAJk/TCHNkwxNBX0/s1600-h/imagem.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5152387150327156066" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_UimvP7Ic-vQ/R4D00JCJjWI/AAAAAAAAAJk/TCHNkwxNBX0/s320/imagem.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Antes de mais nada, vamos esclarecer uma coisa: uma PASTA contém várias PLANILHAS. A maioria das pessoas utiliza o termo PLANILHA para se referenciar à uma PASTA. Isto era verdadeiro na época das primeiras planilhas que trabalhavam uma planilha por arquivo. Como atualmente todos os programas já manipulam tranqüilamente várias planilhas no mesmo arquivo, é bom ter o conceito bem fixado na mente para não fazer confusão na hora de trabalhar.Bem, vamos então à dica.&lt;/div&gt;&lt;div&gt;Para copiar uma planilha dentro da mesma pasta, o procedimento usual é clicar com o botão direito em cima da planilha, selecionar "Mover ou Copiar", selecionar o local onde ela vai ficar, marcar a opção "Criar uma cópia" e depois clicar em OK.&lt;/div&gt;&lt;div&gt;A operação é simples quando se precisa copiar uma ou duas planilhas, mas à medida em que a quantidade de planilhas vai aumentando, a demora e o aumento dos cliques no mouse aumentam proprocionalmente.&lt;/div&gt;&lt;div&gt;Aí é que entra a tecla CTRL (Control) para facilitar a vida do usuário.&lt;/div&gt;&lt;div&gt;Basta mantê-la pressionada enquanto se arrasta a planilha de lugar como se fosse movê-la e uma cópia será criada. Depois é só renomear. Muito útil quando se controla coisas do tipo "uma planilha para cada dia do mês" ou "uma planilha para cada mês do ano".&lt;/div&gt;&lt;div&gt;Volto a repetir, quanto mais agilidade o usuário tiver em operações simples, mais tempo ele terá para focar a análise dos dados, o que na minha opinião é muito mais importante.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-5756528247505058515?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/5756528247505058515/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=5756528247505058515' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5756528247505058515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5756528247505058515'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2008/01/copiar-rapidamente-planilhas-dentro-da.html' title='Copiar rapidamente planilhas dentro da mesma pasta'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_UimvP7Ic-vQ/R4D00JCJjWI/AAAAAAAAAJk/TCHNkwxNBX0/s72-c/imagem.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-5156121991834921453</id><published>2007-12-27T20:30:00.000-03:00</published><updated>2007-12-27T20:33:44.228-03:00</updated><title type='text'>Cursos multimídia de Excel</title><content type='html'>Para quem gosta de aprender em casa, com tranquilidade e nas horas vagas, algumas sugestões:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.totaltraining.com/prod/microsoft/excel2007_ess.asp"&gt;http://www.totaltraining.com/prod/microsoft/excel2007_ess.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://movielibrary.lynda.com/html/modListing.asp?pid=144"&gt;http://movielibrary.lynda.com/html/modListing.asp?pid=144&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.001shop.com.br/lojas/editoraneo.com.br/produtos.asp?produto=69&amp;amp;categoria=10&amp;amp;inf=10&amp;amp;a1=Office&amp;amp;a2=%3A%2E+Office+2000"&gt;http://www.001shop.com.br/lojas/editoraneo.com.br/produtos.asp?produto=69&amp;amp;categoria=10&amp;amp;inf=10&amp;amp;a1=Office&amp;amp;a2=%3A%2E+Office+2000&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.anasoft.com.br/product_info.php?cPath=25&amp;amp;products_id=44"&gt;http://www.anasoft.com.br/product_info.php?cPath=25&amp;amp;products_id=44&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Os dois primeiros em inglês e os dois seguintes em português, todos boas opções para o Excel e também para outros aplicativos.&lt;br /&gt;&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-5156121991834921453?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/5156121991834921453/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=5156121991834921453' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5156121991834921453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/5156121991834921453'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2007/12/cursos-multimdia-de-excel.html' title='Cursos multimídia de Excel'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-8699309225634001127</id><published>2007-11-08T22:12:00.000-03:00</published><updated>2007-11-08T22:15:29.594-03:00</updated><title type='text'>Senha do VBA no Excel</title><content type='html'>Apesar de duvidar da dica postada outro dia no site da ForumAccess, me dei ao trabalho de baixar e instalar o Open Office (&lt;a href="http://www.openoffice.org/"&gt;http://www.openoffice.org&lt;/a&gt;) para conferir:&lt;br /&gt;O OpenOffice abre as planilhas do Excel e mostra todo o código como comentário, independente dele estar protegido por senha ou não.&lt;br /&gt;Façam o teste e confiram também!&lt;br /&gt;;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-8699309225634001127?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/8699309225634001127/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=8699309225634001127' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8699309225634001127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/8699309225634001127'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2007/11/senha-do-vba-no-excel.html' title='Senha do VBA no Excel'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-7600335398278909539</id><published>2007-11-04T21:34:00.000-03:00</published><updated>2007-11-14T21:32:09.481-03:00</updated><title type='text'>Editor de texto versátil para programação</title><content type='html'>&lt;a href="http://bp3.blogger.com/_UimvP7Ic-vQ/Ry5mtF-fezI/AAAAAAAAAJc/AfzQVpAfKZA/s1600-h/imagem.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5129149950506007346" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_UimvP7Ic-vQ/Ry5mtF-fezI/AAAAAAAAAJc/AfzQVpAfKZA/s400/imagem.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Indicação de um amigo e que está sendo útil na programação.O Notepad++ tem muitas facilidades para quem programa, pois geralmente o editor de código não é lá grande coisa em termos de recursos.&lt;/div&gt;&lt;div&gt;Sinto muita falta de zoom no editor de código do VB6 e VBA por exemplo. Numeração de linha então, é algo muito útil que já deveria ter aparecido desde a primeira versão.&lt;/div&gt;&lt;div&gt;O legal deste editor é que basta mudar a linguagem (SQL, VB, HTML, etc) que ele muda as cores das palavras-chave, facilitando a visualização e entendimento.&lt;/div&gt;&lt;div&gt;Para ter uma idéia de como funciona, só usando mesmo. Basta baixá-lo em &lt;a href="http://notepad-plus.sourceforge.net/br/site.htm"&gt;http://notepad-plus.sourceforge.net/br/site.htm&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;O melhor de tudo: é FREE!&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-7600335398278909539?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/7600335398278909539/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=7600335398278909539' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7600335398278909539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/7600335398278909539'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2007/11/editor-de-texto-verstil-para-programao.html' title='Editor de texto versátil para programação'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_UimvP7Ic-vQ/Ry5mtF-fezI/AAAAAAAAAJc/AfzQVpAfKZA/s72-c/imagem.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4801605395861852089.post-4419330350781752317</id><published>2007-07-24T12:55:00.000-03:00</published><updated>2007-07-24T13:02:48.012-03:00</updated><title type='text'>Excel 97 Developer's Kit'</title><content type='html'>&lt;a href="http://bp2.blogger.com/_UimvP7Ic-vQ/RqYiWfJZ1tI/AAAAAAAAAJU/vgLtKxvmOsU/s1600-h/51V43JV26BL__SS500_.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5090794198502332114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_UimvP7Ic-vQ/RqYiWfJZ1tI/AAAAAAAAAJU/vgLtKxvmOsU/s400/51V43JV26BL__SS500_.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Eu nunca tinha visto este livro, mas a partir de uma dúvida de um colega que surgiu no grupo de discussões do ForumAccess, resolvi pesquisar na internet.&lt;br /&gt;Pelo conteúdo, nota-se que não é coisa para principiantes nem para intermediários.&lt;br /&gt;É assunto para experts mesmo.&lt;br /&gt;O livro trata entre outras coisas, da criação de XLL que seriam as DLL's do Windows escritas em C ou C++ para o Excel.&lt;br /&gt;Não vi para as versões posteriores, mas acredito que esse tipo de desenvolvimento já esteja integrada com o Visual Studio.&lt;br /&gt;É um assunto muito específico, desenvolvimento profissional mesmo, visto que as DLL ou XLL têm uma segurança muito maior do que os suplementos (XLA) no que se refere à proteção do código.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;;-)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4801605395861852089-4419330350781752317?l=blogdokazu.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdokazu.blogspot.com/feeds/4419330350781752317/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4801605395861852089&amp;postID=4419330350781752317' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4419330350781752317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4801605395861852089/posts/default/4419330350781752317'/><link rel='alternate' type='text/html' href='http://blogdokazu.blogspot.com/2007/07/excel-97-developers-kit.html' title='Excel 97 Developer&apos;s Kit&apos;'/><author><name>Kazu</name><uri>http://www.blogger.com/profile/11579507443033964344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_UimvP7Ic-vQ/RqYiWfJZ1tI/AAAAAAAAAJU/vgLtKxvmOsU/s72-c/51V43JV26BL__SS500_.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
