<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Access Violation - Perguntas recentes com a tag vba</title>
<link>https://desenv.benner.com.br/accessviolation/?qa=tag/vba</link>
<description>Powered by Question2Answer</description>
<item>
<title>Pesquisar um arquivo pela macro</title>
<link>https://desenv.benner.com.br/accessviolation/?qa=678/pesquisar-um-arquivo-pela-macro</link>
<description>É possível abrir o diálogo do windows para escolher o nome de um arquivo pela macro VBA ?</description>
<guid isPermaLink="true">https://desenv.benner.com.br/accessviolation/?qa=678/pesquisar-um-arquivo-pela-macro</guid>
<pubDate>Wed, 21 Oct 2015 19:26:19 +0000</pubDate>
</item>
<item>
<title>Função @ADDMONTH não funciona em macro de relatório.</title>
<link>https://desenv.benner.com.br/accessviolation/?qa=647/funcao-addmonth-nao-funciona-em-macro-de-relatorio</link>
<description>&lt;p&gt;Boa tarde,&lt;/p&gt;

&lt;p&gt;Estou atendendo uma demanda onde preciso utilizar uma função para adicionar X meses à uma data.&lt;/p&gt;

&lt;p&gt;No Builder utilizando a função&amp;nbsp;&lt;strong&gt;@ADDMONTH&lt;/strong&gt; o retorno é exibido com sucesso conforme esperado, porém, utilizando a mesma função em uma query dentro de uma macro de relatório, recebo a mensagem de erro abaixo:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Erro nativo: Must declare the scalar variable &quot;@ADDMONTH&quot;.&lt;br&gt;
Incorrect syntax near 'Y'. &amp;nbsp; em Benner.Tecnologia.DataAccess.BennerCommand.ExecuteReader(CommandBehavior behavior)&lt;br&gt;
&amp;nbsp; &amp;nbsp;em Benner.Tecnologia.DataAccess.BennerCommand.ExecuteDbDataReader(CommandBehavior behavior)&lt;br&gt;
&amp;nbsp; &amp;nbsp;em Benner.Tecnologia.DataAccess.BennerCommand.ExecuteReader()&lt;br&gt;
&amp;nbsp; &amp;nbsp;em Benner.Tecnologia.ManagedInterop.BennerCommandProxy.ExecuteReader()&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Não existe suporte à essa função em macro? Existe outra alternativa?&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Grato.&lt;/p&gt;</description>
<guid isPermaLink="true">https://desenv.benner.com.br/accessviolation/?qa=647/funcao-addmonth-nao-funciona-em-macro-de-relatorio</guid>
<pubDate>Thu, 23 Jul 2015 18:34:56 +0000</pubDate>
</item>
<item>
<title>Como faço para fechar o runner através de uma macro?</title>
<link>https://desenv.benner.com.br/accessviolation/?qa=643/como-faco-para-fechar-o-runner-atraves-de-uma-macro</link>
<description>&lt;p&gt;Olá,&lt;/p&gt;

&lt;p&gt;Precisamos fazer algo para obrigar o cliente executar uma rotina no sistema para o correto funcionamento do mesmo, então nossa idéia inicial foi incluir um evento na macro, mais precisamente no evento &lt;strong&gt;OnOpen &lt;/strong&gt;da aplicação, para que se o cliente ainda não executou a rotina uma mensagem será apresentada informando da necessidade de fazer isso, e se ele optar por executar esta rotina, um formulário seria apresentado para isso, porém se o usuário optar por não executar a rotina a aplicação seria fechada automaticamente, e minha dúvida está em como fechar a aplicação, já tentei utilizar o &lt;strong&gt;Close&lt;/strong&gt; e alguns outros exemplos que achei ser possível, porém nenhum funcionou.&lt;/p&gt;

&lt;p&gt;É possível fechar a aplicação através de uma macro?&lt;/p&gt;

&lt;p&gt;se for como faço isso?&lt;/p&gt;</description>
<guid isPermaLink="true">https://desenv.benner.com.br/accessviolation/?qa=643/como-faco-para-fechar-o-runner-atraves-de-uma-macro</guid>
<pubDate>Fri, 17 Jul 2015 14:16:32 +0000</pubDate>
</item>
<item>
<title>Tempo de vida de variável em Macros/VB</title>
<link>https://desenv.benner.com.br/accessviolation/?qa=615/tempo-de-vida-de-variavel-em-macros-vb</link>
<description>&lt;p&gt;Sabe-se que independente do escopo, uma variável VB tem o tempo de vída da procedure que a instacia. Mas como no sistema Benner o VB é executado internamente e acredito que deva ter algumas particularidades quero saber quanto ao tempo de vida de uma variável &quot;Objeto&quot; que instacio numa macro.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Conversando com quem trabalha a mais tempo, me mostraram que a muito vem-se utilizando o comando :&lt;/p&gt;

&lt;pre class=&quot;brush:vb;ruler:true;&quot;&gt;
Set obj = Nothing&lt;/pre&gt;

&lt;p&gt;Uma linha acima do End Sub, ou seja no fim da procedure, com o intuito de limpar a variável. N&lt;span style=&quot;line-height:1.6&quot;&gt;inguém soube me dar certeza se este comando é realmente necessário e o pessoal utiliza apenas por garantia.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;line-height:1.6&quot;&gt;Será que devemos continuar fazendo isto, ou o VB me garante que a variável será destruida ao fim da macro?&lt;/span&gt;&lt;/p&gt;</description>
<guid isPermaLink="true">https://desenv.benner.com.br/accessviolation/?qa=615/tempo-de-vida-de-variavel-em-macros-vb</guid>
<pubDate>Fri, 12 Jun 2015 14:06:06 +0000</pubDate>
</item>
<item>
<title>Planilha excel</title>
<link>https://desenv.benner.com.br/accessviolation/?qa=457/planilha-excel</link>
<description>Existe alguma forma de gerar uma planilha excel através do VBA sem que necessária tenha que ter o excel instalado na máquina. Talvez instanciando algum objeto dentro da macro.&lt;br /&gt;
&lt;br /&gt;
Código para criação da planilha em excel&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Dim oXLApp As Object, wb As Object&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set oXLApp = CreateObject(&amp;quot;Excel.Application&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'~~&amp;gt; Hide Excel&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oXLApp.Visible = False&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'~~&amp;gt; Open files&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set wb = oXLApp.Workbooks.Add&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set ws = wb.WorkSheets.Add&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Range(&amp;quot;B10&amp;quot;) = &amp;quot;Edvaldo VITOR GOMES&amp;quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.range(&amp;quot;B10&amp;quot;).Font.Bold = True&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Range(&amp;quot;C10&amp;quot;) = &amp;quot;VITOR GOMES&amp;quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Columns(&amp;quot;A:F&amp;quot;).EntireColumn.AutoFit&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.SaveAs &amp;quot;C:\TESTE.xlsx&amp;quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.close&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim email As Object&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set email = NewMail&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;email.ContentType = &amp;quot;text/html&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;email.IsHtml = True&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;email.SendTo = &amp;quot;edvaldo.gomes@benner.com.br&amp;quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;email.Subject = &amp;quot;teste&amp;quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;email.AddAttachedFile(&amp;quot;c:\teste.xlsx&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;email.Text.Add(&amp;quot;segue anexo teste&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;email.Send&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set email = Nothing&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set oXLApp = Nothing&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set wb = Nothing&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set ws = Nothing</description>
<guid isPermaLink="true">https://desenv.benner.com.br/accessviolation/?qa=457/planilha-excel</guid>
<pubDate>Thu, 16 Oct 2014 18:08:35 +0000</pubDate>
</item>
<item>
<title>Como tratar mensagem de campo obrigatório em uma macro com a opção .required marcada</title>
<link>https://desenv.benner.com.br/accessviolation/?qa=276/tratar-mensagem-obrigatorio-macro-opcao-required-marcada</link>
<description>Eu setei um campo opcional como required em uma macro em VBA.&lt;br /&gt;
&lt;br /&gt;
Ex: NIVELEXCLUSAO.Required = True&lt;br /&gt;
&lt;br /&gt;
O sistema consegue determinar que o campo é agora obrigatório mostrando a mensagem para o usuário, só que a mensagem está em inglês.&lt;br /&gt;
&lt;br /&gt;
Existe alguma forma de tratar essa mensagem na macro?&lt;br /&gt;
&lt;br /&gt;
Eu consigo &amp;quot;tratar&amp;quot; a mensagem verificando o campo no beforepost, mas acredito que esse não seja o melhor jeito justamente por estar usando o .required no campo.</description>
<guid isPermaLink="true">https://desenv.benner.com.br/accessviolation/?qa=276/tratar-mensagem-obrigatorio-macro-opcao-required-marcada</guid>
<pubDate>Fri, 27 Jun 2014 15:07:21 +0000</pubDate>
</item>
<item>
<title>O componente TEntityDataSet roda macro?</title>
<link>https://desenv.benner.com.br/accessviolation/?qa=62/o-componente-tentitydataset-roda-macro</link>
<description>Se eu utilizar num formulário Delphi o TEntityDataSet, além das regras de negócio C# as macros também irão executar?</description>
<guid isPermaLink="true">https://desenv.benner.com.br/accessviolation/?qa=62/o-componente-tentitydataset-roda-macro</guid>
<pubDate>Fri, 09 May 2014 20:46:00 +0000</pubDate>
</item>
<item>
<title>BEF roda macro?</title>
<link>https://desenv.benner.com.br/accessviolation/?qa=60/bef-roda-macro</link>
<description>Ao utilizar uma entidade especializada a partir de uma regra de negócio as macros da entidade manipuladas serão executadas?</description>
<guid isPermaLink="true">https://desenv.benner.com.br/accessviolation/?qa=60/bef-roda-macro</guid>
<pubDate>Fri, 09 May 2014 20:38:30 +0000</pubDate>
</item>
</channel>
</rss>