- 08/14/2019
- 25 minutos para ler
-
- o
- R
- L
- m
- O
-
+4
você Está enfrentando um repetitivos limpar de cinqüenta tabelas no Word? Deseja que um documento em particular peça ao utilizador para ser introduzido quando este abrir?, Você está tendo dificuldade em descobrir como obter seus contatos do Microsoft Outlook em uma planilha Microsoft Excel de forma eficiente?
Você pode executar essas tarefas e realizar muito mais usando Visual Basic para aplicações (VBA) para o escritório—uma linguagem de programação simples, mas poderosa que você pode usar para estender aplicações de escritório.
Este artigo é para usuários de escritório experientes que querem aprender sobre VBA e que querem alguma visão sobre como a programação pode ajudá-los a personalizar o escritório.
O pacote de aplicações Office tem um conjunto rico de recursos., Existem muitas maneiras diferentes de Autor, formatar e manipular documentos, e-mail, bancos de dados, formulários, planilhas e apresentações. O grande poder da programação VBA no escritório é que quase todas as operações que você pode executar com um mouse, teclado, ou uma caixa de diálogo também pode ser feito usando VBA. Além disso, se ele pode ser feito uma vez com VBA, ele pode ser feito tão facilmente cem vezes. (De facto, a automatização das tarefas repetitivas é um dos usos mais comuns do VBA no escritório.,)
além do poder de scripting VBA para acelerar tarefas de cada dia, você pode usar VBA para adicionar novas funcionalidades a aplicativos de escritório ou para alertar e interagir com o usuário de seus documentos de maneiras que são específicas para suas necessidades de Negócio. Por exemplo, você pode escrever algum código VBA que exibe uma mensagem pop up que lembra os usuários para salvar um documento para uma determinada unidade de rede da primeira vez que eles tentam salvá-lo.este artigo explora algumas das principais razões para alavancar o poder da programação VBA., Explora a linguagem VBA e as ferramentas out-of-the-box que você pode usar para trabalhar com suas soluções. Finalmente, inclui algumas dicas e maneiras de evitar algumas frustrações e erros de programação comuns.nota: está interessado em desenvolver soluções que estendam a experiência do Escritório através de várias plataformas? Veja o novo modelo de Add-ins do Escritório. Office Add-ins tem uma pequena pegada em comparação com VSTO Add-ins e soluções, e você pode construí-las usando quase qualquer tecnologia de programação web, como HTML5, JavaScript, CSS3 e XML.,
quando usar VBA e por que
Existem várias razões principais para considerar a programação VBA no escritório.
Automação e repetição
VBA é eficaz e eficiente quando se trata de soluções repetitivas para problemas de formatação ou correção. Por exemplo, você já mudou o estilo do parágrafo no topo de cada página em palavra? Você já teve que reformatar várias tabelas que foram coladas do Excel em um documento do Word ou um e-mail do Outlook? Você já teve que fazer a mesma mudança em vários contatos do Outlook?,
Se você tem uma mudança que você tem que fazer mais de dez ou vinte vezes, pode valer a pena automatizá-la com VBA. Se é uma mudança que você tem que fazer centenas de vezes, certamente vale a pena considerar. Quase todas as alterações de formatação ou edição que você pode fazer à mão, pode ser feito em VBA.
Extensões à interacção do utilizador
há alturas em que se pretende encorajar ou obrigar os utilizadores a interagir com a aplicação ou documento do serviço de uma forma específica que não faz parte da aplicação normal., Por exemplo, você pode querer pedir aos usuários para tomar alguma ação em particular quando eles abrem, gravam ou imprimem um documento.
interacção entre aplicações de escritório
é necessário copiar todos os seus contactos do Outlook para o Word e formatá-los de alguma forma em particular? Ou, você precisa mover dados do Excel para um conjunto de slides PowerPoint? Às vezes a simples cópia e pasta não faz o que você quer que faça, ou é muito lento., Você pode usar a programação VBA para interagir com os detalhes de duas ou mais aplicações de escritório ao mesmo tempo e, em seguida, modificar o conteúdo em uma aplicação com base no conteúdo em outra.
fazer as coisas de outra forma
a programação VBA é uma solução poderosa, mas nem sempre é a abordagem ideal. Às vezes faz sentido usar outras maneiras de alcançar seus objetivos.
a pergunta crítica a fazer é se há uma maneira mais fácil. Antes de iniciar um projeto VBA, considere as ferramentas incorporadas e funcionalidades padrão., Por exemplo, se você tiver uma tarefa de edição ou layout demorada, considere usar estilos ou teclas de aceleradores para resolver o problema. Pode executar a tarefa uma vez e depois usar o CTRL+Y (Refazer) para a repetir? Você pode criar um novo documento com o formato ou modelo correto, e então copiar o conteúdo para esse novo documento?
As aplicações de escritório são poderosas; a solução que você precisa pode já estar lá. Leve algum tempo para aprender mais sobre o escritório antes de saltar para a programação.antes de iniciar um projecto VBA, certifique-se de que tem tempo para trabalhar com VBA., A programação requer foco e pode ser imprevisível. Especialmente como um principiante, nunca se vire para a programação a menos que você tenha tempo para trabalhar com cuidado. Tentando escrever um “script rápido” para resolver um problema quando um prazo se aproxima pode resultar em uma situação muito estressante. Se você está com pressa, você pode querer usar métodos convencionais, mesmo se eles são monótonos e repetitivos.
Programação VBA 101
com o código para fazer aplicações de fazer as coisas
Você pode pensar que a escrita de código é misterioso ou difícil, mas os princípios básicos de uso do dia a dia de raciocínio e são bastante acessíveis., As aplicações do Microsoft Office são criadas de tal forma que expõem coisas chamadas objetos que podem receber instruções, da mesma forma que um telefone é projetado com botões que você usa para interagir com o telefone. Quando você pressiona um botão, o telefone reconhece a instrução e inclui o número correspondente na sequência que você está discando. Na programação, você interage com a aplicação, enviando instruções para vários objetos na aplicação. Estes objectos são expansivos, mas têm os seus limites., Eles só podem fazer o que eles são projetados para fazer, e eles só vão fazer o que você instrui-los a fazer.
por exemplo, considere o usuário que abre um documento em Palavra, faz algumas alterações, grava o documento e, em seguida, fecha-o. No mundo da programação VBA, Word expõe um objeto de Documento. Usando o código VBA, você pode instruir o objeto do documento para fazer coisas Como Abrir, Salvar ou fechar.
a secção seguinte discute como os objectos são organizados e descritos.,
o modelo de objeto
Desenvolvedores organizam objetos de programação em uma hierarquia, e essa hierarquia é chamada de modelo de objeto da aplicação. Word, por exemplo, tem um objeto de Aplicação de nível superior que contém um objeto de Documento. O objecto do documento contém objectos de parágrafo e assim por diante. Os modelos de objetos espelham aproximadamente o que você vê na interface do Usuário. Eles são um mapa conceitual da aplicação e suas capacidades.
A definição de um objeto é chamada de classe, então você pode ver estes dois termos usados indistintamente., Tecnicamente, uma classe é a descrição ou modelo que é usado para criar, ou instanciar, um objeto.
Uma vez que um objeto existe, você pode manipulá-lo definindo suas propriedades e chamando seus métodos. Se você pensa no objeto como um substantivo, as propriedades são os adjetivos que descrevem o substantivo e os métodos são os verbos que animam o substantivo. Mudar uma propriedade muda alguma qualidade de aparência ou comportamento do objeto. Chamar um dos métodos do objeto faz com que o objeto execute alguma ação.,
o código VBA neste artigo é executado contra uma aplicação Open Office onde muitos dos objetos que o código manipula já estão em funcionamento; por exemplo, a aplicação em si, a planilha no Excel, o documento em palavra, a apresentação no PowerPoint, o explorador e objetos de pasta no Outlook. Uma vez que você saiba o layout básico do modelo de objeto e algumas propriedades chave da aplicação que dão acesso ao seu estado atual, você pode começar a estender e manipular essa aplicação de escritório com VBA no escritório.,
métodos
na palavra, por exemplo, você pode alterar as propriedades e invocar os métodos do documento Word atual usando a propriedade ActiveDocument do objeto da aplicação. Esta propriedade ActiveDocument devolve uma referência ao objecto do documento que está activo de momento na aplicação Word. “Devolve uma referência a “significa” dá-lhe acesso.”
o seguinte código faz exatamente o que diz; ou seja, guarda o documento ativo na aplicação.,
Application.ActiveDocument.Save
Leia o código da esquerda para a direita, “nesta Aplicação, com o Documento referenciado por ActiveDocument, chamar o método Save.”Esteja ciente de que Save é a forma mais simples de método; ele não requer quaisquer instruções detalhadas de você. Você instrui um objeto de documento para gravar e ele não requer mais nenhuma entrada de você.
Se um método requer mais informação, esses detalhes são chamados de parâmetros. O seguinte código executa o método SaveAs, que requer um novo nome para o arquivo.,
Application.ActiveDocument.SaveAs ("New Document Name.docx")
Valores listados entre parênteses após um nome de método são os parâmetros. Aqui, o novo nome para o arquivo é um parâmetro para o método SaveAs.
propriedades
você usa a mesma sintaxe para definir uma propriedade que você usa para ler uma propriedade. O seguinte código executa um método para selecionar a célula A1 no Excel e, em seguida, definir uma propriedade para colocar algo nessa célula.
Application.ActiveSheet.Range("A1").Select Application.Selection.Value = "Hello World"
o primeiro desafio na programação VBA é ter um sentimento pelo modelo de objeto de cada aplicação de escritório e ler o objeto, método e sintaxe de propriedade., Os modelos de objetos são semelhantes em todas as aplicações de escritório, mas cada um é específico para o tipo de documentos e objetos que manipula.
na primeira linha do Excel do Código, existe o objeto da aplicação, Excel desta vez, e então o ActiveSheet, que fornece acesso à planilha ativa. Depois disso é um termo não tão familiar, intervalo, que significa “definir uma gama de células desta forma.”The code instructions Range to create itself with just A1 as its defined set of cells. Em outras palavras, a primeira linha de código define um objeto, o intervalo, e executa um método contra ele para selecioná-lo., O resultado é automaticamente armazenado em outra propriedade da aplicação chamada seleção.
a segunda linha de código define a propriedade de valor da seleção para o texto “Hello World”, e esse valor aparece na célula A1.
o código VBA mais simples que você escreve pode simplesmente ganhar acesso a objetos na aplicação de escritório com que você está trabalhando e definir propriedades. Por exemplo, você pode ter acesso às linhas em uma tabela em palavra e mudar a formatação no seu script VBA.,
isso soa simples, mas pode ser incrivelmente útil; uma vez que você pode escrever esse código, você pode aproveitar todo o poder da programação para fazer essas mesmas mudanças em várias tabelas ou documentos, ou torná-los de acordo com alguma lógica ou condição. Para um computador, fazer 1000 mudanças não é diferente de fazer 10, então há uma economia de escala aqui com documentos e problemas maiores, e é aí que o VBA pode realmente brilhar e poupar tempo.,
Macros e o Editor Visual Basic
Agora que sabe alguma coisa sobre como as aplicações do Office expõem os seus modelos de objectos, está provavelmente ansioso por tentar chamar os métodos dos objectos, definir as propriedades dos objectos e responder aos eventos dos objectos. Para isso, você deve escrever seu código em um lugar e de uma forma que o escritório possa entender; tipicamente, usando o Editor Visual Basic. Embora esteja instalado por padrão, muitos usuários não sabem que ele está disponível até que ele seja ativado na fita.todas as aplicações de escritório usam a fita., Uma página na fita é a Página de desenvolvimento, onde você acede ao Editor Visual básico e a outras ferramentas de desenvolvimento. Dado que o Office não mostra a página do programador por omissão, deverá activá-la usando o seguinte procedimento:
para activar a página do programador
-
na página do ficheiro, escolha as opções para abrir a janela de Opções.
-
escolha Personalizar a fita do lado esquerdo da janela.
-
sob os comandos escolher do lado esquerdo da janela, seleccione os comandos populares.,
-
sob personalizar a fita do lado direito da janela, seleccione as páginas principais na lista e seleccione depois a opção do programador.
-
escolha OK.
Nota
No Office 2007, é apresentada a guia Desenvolvedor escolhendo o botão Office, escolha Opções e, em seguida, selecionando a guia Mostrar Desenvolvedor na faixa de opções caixa de verificação na categoria Popular da caixa de diálogo Opções.
Depois de activar a página de desenvolvimento, é fácil encontrar os botões Visual Basic e Macros.
Figura 1., Botões na página de desenvolvimento
questões de segurança
para proteger os utilizadores do Escritório contra vírus e código de macro perigoso, você não pode gravar o código de macro num documento de escritório padrão que usa uma extensão de ficheiro padrão. Em vez disso, você deve salvar o código em um arquivo com uma extensão especial. Por exemplo, você não pode salvar macros em um documento Word padrão com A.extensão docx ;em vez disso, você deverá usar um documento com uma palavra especial, com uma opção de Macro.extensão docm.
Quando abrir A.,arquivo docm, segurança do Escritório ainda pode impedir que as macros no documento de correr, com ou sem dizer-lhe. Examine as configurações e opções no centro de confiança em todas as aplicações de escritório. A configuração por omissão desactiva a execução da macro, mas avisa-o que as macros foram desactivadas e dá-lhe a opção de as activar de novo para esse documento.
pode designar pastas específicas onde as macros podem ser executadas através da criação de Locais Confiáveis, documentos confiáveis ou Editores Confiáveis., A opção mais portátil é usar Editores Confiáveis, que trabalham com documentos digitalmente assinados que você distribui. Para mais informações sobre as configurações de segurança de uma determinada aplicação de escritório, abra a janela de Opções, escolha o Trust Center e, em seguida, escolha a configuração do Trust Center.
Nota
algumas aplicações de escritório, como o Outlook, gravam macros por omissão num modelo mestre no seu computador local., Embora essa estratégia reduz os problemas de segurança locais em seu próprio computador quando você executa suas próprias macros, ela requer uma estratégia de implantação se você quiser distribuir sua macro.
gravando uma macro
quando você escolher o botão Macro na página de desenvolvimento, ela abre a janela de Macros, que lhe dá acesso às sub-rotinas ou macros de VBA a que você poderá aceder a partir de um determinado documento ou aplicação. O botão Visual Basic abre o Editor Visual Basic, onde você cria e edita o código VBA.,
outro botão na página de desenvolvimento em Word e Excel é o botão Gravar Macro, que gera automaticamente o código VBA que pode reproduzir as acções que executa na aplicação. Gravar Macro é uma ferramenta fantástica que você pode usar para aprender mais sobre VBA. Ler o código gerado pode dar-lhe uma visão sobre VBA e fornecer uma ponte estável entre o seu conhecimento de escritório como usuário e o seu conhecimento como programador., A única ressalva é que o código gerado pode ser confuso porque o editor de Macro deve fazer algumas suposições sobre suas intenções, e essas suposições não são necessariamente precisas.
para gravar uma macro
-
abra o Excel para um novo livro de trabalho e escolha a página de desenvolvimento na fita. Escolha Gravar a Macro e aceite todas as opções predefinidas na janela de gravar a Macro, incluindo a Macro1 como o nome da macro e este manual como a localização.
-
escolha OK para começar a gravar a macro. Observe como o texto do botão muda para parar a gravação., Escolha esse botão no instante em que completar as ações que deseja gravar.
-
escolha a célula B1 e digite a primeira string clássica do programador: Hello World. Pare de digitar e olhe para o botão Parar de gravar; ele está grayed para fora porque o Excel está esperando por você para terminar de digitar o valor na célula.
-
escolha a célula B2 para completar a acção na célula B1 e, em seguida, escolha Parar a gravação.
-
escolha Macros na página de desenvolvimento, seleccione Macro1 se não estiver seleccionada, e depois escolha Editar para ver o código a partir de Macro1 no Editor Visual Basic.,
Figura 2. Macro code in Visual Basic Editor
olhando para o código
a macro que criou deve ser semelhante ao seguinte código.
Sub Macro1()'' Macro1 Macro'' Range("B1").Select ActiveCell.FormulaR1C1 = "Hello World" Range("B2").SelectEnd Sub
esteja ciente das semelhanças com o excerto de código anterior que seleccionou o texto na célula A1, e as diferenças. Neste código, a célula B1 é selecionada, e então a string “Hello World” é aplicada à célula que foi ativada. As aspas em torno do texto especificam um valor de cadeia de caracteres em oposição a um valor numérico.,lembra-se como escolheu a célula B2 para mostrar o botão Parar de gravar de novo? Essa acção aparece também como uma linha de código. O gravador de macro grava todas as teclas.
As linhas de código que começam com um apóstrofo e colorido verde pelo editor São comentários que explicam o código ou lembram a você e a outros programadores o propósito do Código. VBA ignora qualquer linha, ou parte de uma linha, que começa com uma única citação. Escrever comentários claros e apropriados em seu código é um tópico importante, mas essa discussão está fora do âmbito deste artigo., As referências posteriores a este código no artigo não incluem essas quatro linhas de comentários.
Quando o gravador de macro gera o código, ele usa um algoritmo complexo para determinar os métodos e as propriedades que você pretendia. Se você não reconhece uma dada propriedade, há muitos recursos disponíveis para ajudá-lo. Por exemplo, na macro que você gravou, o macro gravador gerou o código que se refere à propriedade FormulaR1C1. Não tens a certeza do que isso significa?
Nota
esteja ciente de que o objeto de aplicação está implícito em todas as macros VBA., O código que você gravou funciona com a aplicação. no início de cada linha.
usando a ajuda do programador
seleccione a fórmula 1C1 na macro gravada e carregue em F1. O sistema de Ajuda executa uma pesquisa rápida, determina que os assuntos apropriados estão na seção de desenvolvimento Excel da Ajuda Excel, e lista a propriedade FormulaR1C1. Você pode escolher o link para ler mais sobre a propriedade, mas antes disso, esteja ciente do link de referência do modelo de objeto Excel perto do fundo da janela., Escolha o link para ver uma longa lista de objetos que o Excel usa em seu modelo de objeto para descrever as planilhas e seus componentes.
Escolha qualquer um desses para ver as propriedades e métodos que se aplicam a esse objeto em particular, juntamente com referências cruzadas a diferentes opções relacionadas. Muitas entradas de Ajuda também têm breves exemplos de código que podem ajudá-lo. Por exemplo, você pode seguir as ligações no objeto Borders para ver como definir uma fronteira em VBA.
Worksheets(1).Range("A1").Borders.LineStyle = xlDouble
editar o código
o código de Fronteiras parece diferente da macro gravada., Uma coisa que pode ser confusa com um modelo de objeto é que há mais de uma maneira de abordar qualquer objeto dado, célula A1 neste exemplo.
às vezes a melhor maneira de aprender programação é fazer pequenas alterações em algum código de trabalho e ver o que acontece como resultado. Tenta agora. Abra a Macro1 no Editor Visual Basic e altere o código para o seguinte.
Sub Macro1() Worksheets(1).Range("A1").Value = "Wow!" Worksheets(1).Range("A1").Borders.LineStyle = xlDoubleEnd Sub
Tip
Use copiar e colar tanto quanto possível quando trabalhar com código para evitar erros de dactilografia.,
não precisa de gravar o código para o experimentar, por isso volte ao documento Excel, escolha Macros na página de desenvolvimento, escolha Macro1 e depois escolha Executar. A célula A1 contém agora o texto Wow! e tem uma fronteira dupla à sua volta.
Figura 3. Resultados da sua primeira macro
você acabou de combinar gravação de macro, leitura da documentação do modelo de objeto, e programação simples para fazer um programa de VBA que faz algo. Meus parabéns!não funcionou? Leia as sugestões de depuração no VBA.,
dicas e truques de programação
comece com exemplos
a comunidade VBA é muito grande; uma pesquisa na Web pode quase sempre produzir um exemplo de código VBA que faz algo semelhante ao que você quer fazer. Se você não conseguir encontrar um bom exemplo, tente quebrar a tarefa em unidades menores e procurar em cada uma delas, ou tente pensar em um problema mais comum, mas semelhante. Começando com um exemplo pode poupar-lhe horas de tempo.
isso não significa que o código livre e bem pensado está na Web esperando por você para vir junto., Na verdade, alguns dos códigos que você encontra podem ter erros ou erros. A idéia é que os exemplos que você encontra on-line ou na documentação VBA lhe dão um avanço. Lembre-se que a programação de aprendizagem requer tempo e pensamento. Antes de começar com uma grande pressa para usar outra solução para resolver o seu problema, pergunte a si mesmo se VBA é a escolha certa para este problema.
fazer um problema mais simples
a programação pode ficar complexa rapidamente. É fundamental, especialmente como iniciante, que você quebre o problema para as menores unidades lógicas possíveis, em seguida, escrever e testar cada peça em isolamento., Se você tem muito código na frente de você e você fica confuso ou confuso, pare e coloque o problema de lado. Quando você voltar ao problema, copie um pequeno pedaço do problema para um novo módulo, resolva esse pedaço, ponha o código funcionando, e teste-o para garantir que ele funciona. Então segue para a próxima parte.
Bugs e depuração
Existem dois tipos principais de erros de programação: erros de sintaxe, que violam as regras gramaticais da linguagem de programação, e erros de tempo de execução, que parecem sintaticamente corretos, mas falham quando VBA tenta executar o código.,
embora possam ser frustrantes de corrigir, os erros de sintaxe são fáceis de apanhar; o Editor Visual Basic apita e mostra-lhe se escrever um erro de sintaxe no seu código.
Por exemplo, os valores de cadeia de caracteres devem ser rodeados por aspas duplas na VBA. Para saber o que acontece quando você usa aspas simples em vez disso, retorne ao Editor Visual básico e substitua o “Wow!”string in the code example with’ Wow!”(isto é, a palavra Wow incluída em aspas simples). Se escolher a próxima linha, o Editor Visual Basic reage., O erro “Compile error: Expected: expression” não é muito útil, mas a linha que gera o erro fica vermelha para lhe dizer que você tem um erro de sintaxe nessa linha e, como resultado, este programa não será executado.
escolha OK e mude o texto de volta para ” Wow!”.
erros de tempo de execução são mais difíceis de capturar porque a sintaxe de programação parece correta, mas o código falha quando VBA tenta executá-lo.,
por exemplo, abra o Editor Visual Basic e mude o nome da propriedade Value para ValueX na sua Macro, introduzindo deliberadamente um erro de execução, uma vez que o objecto Range não tem uma propriedade chamada ValueX. Volte ao documento Excel, abra a janela de Macros e execute a Macro1 novamente. Você deve ver uma caixa de mensagem Visual básica que explica o erro de tempo de execução com o texto, ” o objeto não suporta esta propriedade do método.”Embora esse texto seja claro, escolha Debug para saber mais.,
Quando volta ao Editor Visual Basic, está num modo de depuração especial que usa um realce amarelo para lhe mostrar a linha de código que falhou. Como esperado, a linha que inclui a propriedade Valuorex é destacada.
pode fazer alterações ao código VBA que está a correr, por isso mude o valor de volta para o valor e escolha o pequeno botão verde de reprodução por baixo do menu Depurar. O programa deve ser executado normalmente de novo.
é uma boa ideia aprender a usar o depurador mais deliberadamente por programas mais longos e complexos., No mínimo, aprender como definir break-points para parar a execução em um ponto onde você quiser dar uma olhada no código, como adicionar relógios para ver os valores das diferentes variáveis e propriedades como o código é executado, e como passo o código linha por linha. Estas opções estão todas disponíveis no menu de depuração e os utilizadores sérios do depurador normalmente memorizam os atalhos de teclado que os acompanham.,
usando bem os materiais de referência
para abrir a Referência de desenvolvimento que é incorporada no Office Help, abra a referência de ajuda de qualquer aplicação de escritório, escolhendo o ponto de interrogação na fita ou pressionando F1. Então, à direita do botão de busca, Escolha a seta para filtrar o conteúdo. Escolha A Referência Do Programador. Se você não ver a tabela de conteúdo no painel esquerdo, escolha o pequeno ícone do livro para abri-lo, e em seguida, expandir a referência do Modelo objeto a partir daí.
Figura 5., A filtragem na ajuda do programador aplica-se a todas as aplicações do Office
tempo gasto a navegar na referência do modelo de Objecto compensa. Depois de compreender o básico da sintaxe VBA e o modelo de objeto para a aplicação Office com a qual você está trabalhando, você avança de adivinhação para programação metódica.
claro que o Microsoft Office Developer Center é um excelente portal para artigos, dicas e informações comunitárias.,
Pesquisar fóruns e grupos
todos os programadores ficam presos às vezes, mesmo depois de ler cada artigo de referência que podem encontrar e perder o sono à noite pensando em diferentes maneiras de resolver um problema. Felizmente, a Internet promoveu uma comunidade de desenvolvedores que ajudam uns aos outros a resolver problemas de programação.
qualquer pesquisa na Web para” office developer forum ” revela vários grupos de discussão. Você pode pesquisar em “desenvolvimento de escritório” ou uma descrição do seu problema para descobrir fóruns, posts de blog, e artigos também.,
Se você fez tudo o que pode para resolver um problema, não tenha medo de postar sua pergunta para um fórum de desenvolvedores. Estes fóruns bem-vindos posts de novos programadores e muitos dos desenvolvedores experientes estão felizes em ajudar.
A seguir estão alguns pontos de etiqueta a seguir quando você postar em um fórum de desenvolvedores:
-
Antes de postar, procure no site por um FAQ, ou de diretrizes para que os membros querem que você siga. Certifique-se de que você postar conteúdo que seja consistente com essas diretrizes e na seção correta do fórum.,
-
incluir uma amostra de código clara e completa, e considerar a edição do seu código para clarificá-lo para os outros se ele faz parte de uma seção mais longa do Código.
-
descreva o seu problema de forma clara e concisa, e resuma quaisquer medidas que tenha tomado para resolver o problema. Tome o tempo para escrever o seu post tão bem quanto você pode, especialmente se você está confuso ou com pressa. Apresente a situação de uma forma que faça sentido aos leitores da primeira vez que lerem a declaração do problema.sejam educados e expressem o vosso apreço.,
indo mais longe com a programação
embora este artigo seja curto e apenas arranha a superfície da VBA e programação, Esperemos que seja o suficiente para começar.
esta secção discute brevemente alguns tópicos-chave.
variáveis
nos exemplos simples deste artigo, manipulou objectos que a aplicação já tinha criado. Você pode querer criar seus próprios objetos para armazenar valores ou referências a outros objetos para uso temporário em sua aplicação. Estas são chamadas variáveis.,
para usar uma variável em VBA, deve dizer a VBA qual o tipo de objeto que a variável representa usando a instrução Dim. Em seguida, você define o seu valor e usá-lo para definir outras variáveis ou propriedades.
Dim MyStringVariable As String MyStringVariable = "Wow!" Worksheets(1).Range("A1").Value = MyStringVariable
ramificação e looping
os programas simples neste artigo executam uma linha de cada vez, de cima para baixo. O poder real na programação vem das opções que você tem que determinar quais linhas de código a executar, com base em uma ou mais condições que você especificar. Você pode estender essas capacidades ainda mais quando você pode repetir uma operação muitas vezes., Por exemplo, o seguinte código estende Macro1.
tipo ou colar o código no Editor Visual Basic e, em seguida, executá-lo. Siga as instruções na caixa de mensagens que aparece e mude o texto na célula A1 de Wow! para Sim! e passa – a outra vez para ver o poder do looping. Este excerto de código demonstra variáveis, ramificações e looping. Leia-o cuidadosamente depois de vê-lo em ação e tente determinar o que acontece quando cada linha executa.
todas as aplicações do meu escritório: código de exemplo
Aqui estão alguns scripts para tentar; cada um resolve um problema de escritório No mundo real.,
crie um e-mail no Outlook
Sub MakeMessage() Dim OutlookMessage As Outlook.MailItem Set OutlookMessage = Application.CreateItem(olMailItem) OutlookMessage.Subject = "Hello World!" OutlookMessage.Display Set OutlookMessage = NothingEnd Sub
esteja ciente de que existem situações em que você pode querer automatizar o e-mail no Outlook; você pode usar modelos também.
apagar as linhas vazias numa folha de cálculo do Excel
tenha em atenção que poderá seleccionar uma coluna de células e executar esta macro Para remover todas as linhas da coluna seleccionada que tenham uma célula em branco.
apagar os campos de texto vazios no PowerPoint
Sub RemoveEmptyTextBoxes() Dim SlideObj As Slide Dim ShapeObj As Shape Dim ShapeIndex As Integer For Each SlideObj In ActivePresentation.Slides For ShapeIndex = SlideObj.Shapes.Count To 1 Step -1 Set ShapeObj = SlideObj.Shapes(ShapeIndex) If ShapeObj.Type = msoTextBox Then If Trim(ShapeObj.TextFrame.TextRange.Text) = "" Then ShapeObj.Delete End If End If Next ShapeIndex Next SlideObjEnd Sub
esteja ciente de que este código faz loops através de todos os slides e apaga todos os campos de texto que não têm qualquer texto., A variável Contagem decreta em vez de incrementos porque cada vez que o código apaga um objeto, ele remove esse objeto da coleção, o que reduz a contagem.
copie um contacto do Outlook para a palavra
Sub CopyCurrentContact() Dim OutlookObj As Object Dim InspectorObj As Object Dim ItemObj As Object Set OutlookObj = CreateObject("Outlook.Application") Set InspectorObj = OutlookObj.ActiveInspector Set ItemObj = InspectorObj.CurrentItem Application.ActiveDocument.Range.InsertAfter (ItemObj.FullName & " from " & ItemObj.CompanyName)End Sub
esteja ciente de que este código copia o contacto actualmente aberto no Outlook para o documento open Word. Este código só funciona se houver um contato atualmente aberto para inspeção no Outlook.
suporte e feedback
tem perguntas ou comentários sobre o Office VBA ou esta documentação?, Por favor, consulte o suporte e o feedback do Office VBA para obter orientação sobre as formas como você pode receber suporte e fornecer feedback.