<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Office Systems Developer : VSTO</title><link>http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx</link><description>Tags: VSTO</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Simulating DAvg() equivalent to Microsoft Access</title><link>http://msmvps.com/blogs/officept/archive/2009/12/15/simulating-davg-equivalent-to-microsoft-access.aspx</link><pubDate>Tue, 15 Dec 2009 13:53:18 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1745713</guid><dc:creator>Joao Livio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1745713</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1745713</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2009/12/15/simulating-davg-equivalent-to-microsoft-access.aspx#comments</comments><description>&lt;p&gt;I was writing a ClassLibrary to COM Interop and this one came up. This was original whiten to use with JET (VBA and VB6)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;  &lt;div&gt;   &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; DAvg(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; connectionString, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; expression, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; domain, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; criteria)&lt;br /&gt;        {&lt;br /&gt;            &lt;br /&gt;            var strSQL = &lt;span style="color:#006080;"&gt;&amp;quot;Select &amp;quot;&lt;/span&gt; + expression + &lt;span style="color:#006080;"&gt;&amp;quot; As ThisValue&amp;quot;&lt;/span&gt; +&lt;br /&gt;                         &lt;span style="color:#006080;"&gt;&amp;quot; From &amp;quot;&lt;/span&gt; + domain +&lt;br /&gt;                         &lt;span style="color:#006080;"&gt;&amp;quot; Where &amp;quot;&lt;/span&gt; + criteria;&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (var con = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; OleDbConnection(connectionString))&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (var da = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; OleDbDataAdapter(strSQL, con))&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (var dt = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; DataTable())&lt;br /&gt;                    {&lt;br /&gt;                        da.Fill(dt);&lt;br /&gt;                        &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; i;&lt;br /&gt;                        &lt;span style="color:#0000ff;"&gt;double&lt;/span&gt; sum = 0;&lt;br /&gt;                        &lt;span style="color:#0000ff;"&gt;for&lt;/span&gt; (i = 0; (i &amp;lt;= dt.Rows.Count -1); i++)&lt;br /&gt;                        {&lt;br /&gt;                            sum = Convert.ToDouble(dt.Rows[i].ItemArray[0].ToString()) + sum;&lt;br /&gt;                        }&lt;br /&gt;                        &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; sum / i;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;/pre&gt;
&lt;/div&gt;

&lt;div&gt;&amp;#160;&lt;/div&gt;

&lt;div&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;/div&gt;

&lt;div&gt;&amp;#160;&lt;/div&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Function&lt;/span&gt; DAvg(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; connectionString &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; expression &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; domain &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; criteria &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt;) &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Object&lt;/span&gt;&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; strSQL = &lt;span style="color:#006080;"&gt;&amp;quot;Select &amp;quot;&lt;/span&gt; + expression + &lt;span style="color:#006080;"&gt;&amp;quot; As ThisValue&amp;quot;&lt;/span&gt; + _ &lt;br /&gt;                 &lt;span style="color:#006080;"&gt;&amp;quot; From &amp;quot;&lt;/span&gt; + domain + _ &lt;br /&gt;                 &lt;span style="color:#006080;"&gt;&amp;quot; Where &amp;quot;&lt;/span&gt; + criteria&lt;br /&gt;    Using con = &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; OleDbConnection(connectionString)&lt;br /&gt;        Using da = &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; OleDbDataAdapter(strSQL, con)&lt;br /&gt;            Using dt = &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; DataTable()&lt;br /&gt;                da.Fill(dt)&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; i &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Integer&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; sum &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Double&lt;/span&gt; = 0&lt;br /&gt;                i = 0&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;While&lt;/span&gt; (i &amp;lt;= dt.Rows.Count - 1)&lt;br /&gt;                    sum = Convert.ToDouble(dt.Rows(i).ItemArray(0).ToString()) + sum&lt;br /&gt;                    i += 1&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;While&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; sum / i&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; Using&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; Using&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; Using&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; Function&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;div&gt;
  &lt;br /&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1745713" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://msmvps.com/blogs/officept/archive/tags/English+Related/default.aspx">English Related</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VB.NET/default.aspx">VB.NET</category></item><item><title>Visual Studio Class Library para o Microsoft Access – C# (Parte1)</title><link>http://msmvps.com/blogs/officept/archive/2009/11/04/visual-studio-class-library-para-o-microsoft-access-c-parte1.aspx</link><pubDate>Wed, 04 Nov 2009 11:35:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1737596</guid><dc:creator>Joao Livio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1737596</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1737596</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2009/11/04/visual-studio-class-library-para-o-microsoft-access-c-parte1.aspx#comments</comments><description>&lt;p&gt;Nesta s&amp;eacute;rie de vamos compreender como criar, gerir e implementar um Biblioteca (Class Library) para o Microsoft Access. Vamos utilizar o Visual Studio 2008, C#, Visual Basic e o Microsoft Access 2007. &lt;/p&gt;
&lt;p&gt;Estes exemplos prov&amp;ecirc;m da Class Library que criei este ano e que publiquei no &lt;a target="_blank" href="http://www.codeplex.com/"&gt;Codeplex&lt;/a&gt; &amp;gt; &lt;a target="_blank" href="http://macl.codeplex.com"&gt;aqui&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Porque implementar uma Biblioteca de Classes no Microsoft Access? &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Se implementarmos uma &lt;a target="_blank" href="http://pt.wikipedia.org/wiki/Classe_(programa%C3%A7%C3%A3o)"&gt;Classe&lt;/a&gt; e expormos a mesma, estamos a permitir que o &lt;a target="_blank" href="http://office.microsoft.com/pt-pt/access/default.aspx?ofcresset=1"&gt;Microsoft Access&lt;/a&gt; por si possa utilizar os seus recursos , ou seja, podemos utilizar as facilidades do &lt;a target="_blank" href="http://support.microsoft.com/kb/929300/pt"&gt;Microsoft Framework&lt;/a&gt; no C&amp;oacute;digo VBA, bastando para tal adicionar uma refer&amp;ecirc;ncia para o DLL. Podemos tamb&amp;eacute;m utiliza-la em outro Projecto Visual Studio como por exemplo um Add-in.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;M&amp;aacute;quina cliente Requisitos&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Microsoft Access 2007&lt;/p&gt;
&lt;p&gt;Microsoft Framework 2.0 ou 3.5&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Vamos necessitar das seguintes refer&amp;ecirc;ncias:&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Microsoft Office 12.0 Object Library&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Interop.Microsoft.Office.Interop.Access &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;No Microsoft Access&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ukase Add-ins&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;O B&amp;aacute;sico &lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Criar A Biblioteca &lt;/li&gt;
&lt;li&gt;Configura&amp;ccedil;&amp;otilde;es iniciais &lt;/li&gt;
&lt;li&gt;Defini&amp;ccedil;&amp;otilde;es de Visibilidade COM &lt;/li&gt;
&lt;li&gt;A Primeira Propriedade &lt;/li&gt;
&lt;li&gt;Implementa&amp;ccedil;&amp;atilde;o COM &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;C&amp;oacute;digo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A Classe&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;[ComVisible(&lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;)]&lt;br /&gt;[Guid(&lt;span style="color:#006080;"&gt;&amp;quot;82382232-F1D7-4048-A1E0-F2879BCA0610&amp;quot;&lt;/span&gt;)]&lt;br /&gt;[ClassInterface(ClassInterfaceType.None)]&lt;br /&gt;[ProgId(&lt;span style="color:#006080;"&gt;&amp;quot;M3CommonFunctions&amp;quot;&lt;/span&gt;)]&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; M3CommonFunctions : IM3CommonFunctions&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;Propriedade&lt;/p&gt;
&lt;div&gt;
&lt;pre id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;Assembly asm = Assembly.GetExecutingAssembly();&lt;br /&gt;&lt;br /&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; Version GetMACLVersion&lt;br /&gt;     {   &lt;br /&gt;         get {  &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; asm.GetName().Version; }&lt;br /&gt;     }&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Interface&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;[Guid(&lt;span style="color:#006080;"&gt;&amp;quot;4ECAAC7B-711C-4ac0-BBFC-58C4E3E8EE56&amp;quot;&lt;/span&gt;)]&lt;br /&gt;   [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]&lt;br /&gt;   &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;interface&lt;/span&gt; IM3CommonFunctions&lt;br /&gt;   {&lt;br /&gt;       [DispId(1)]&lt;br /&gt;       Version GetMACLVersion  { get; }&lt;br /&gt;   }&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;VISUAL BASIC&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&amp;lt;ComClass(Namespace_Comuns.ClassId, Namespace_Comuns.InterfaceId, Namespace_Comuns.EventsId)&amp;gt; _&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Class&lt;/span&gt; Namespace_Comuns&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; m_VersaoBiblioteca &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#cc6633;"&gt;#Region&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;COM GUIDs&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;&amp;#39; These  GUIDs provide the COM identity for this class &lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;&amp;#39; and its COM interfaces. If you change them, existing &lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;&amp;#39; clients will no longer be able to access the class.&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Const&lt;/span&gt; ClassId &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt; = &lt;span style="color:#006080;"&gt;&amp;quot;6b6c0965-e6a5-4089-afbb-0ec787efe024&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Const&lt;/span&gt; InterfaceId &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt; = &lt;span style="color:#006080;"&gt;&amp;quot;d8c53404-58b4-4f28-9d2f-4912f8cb6723&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Const&lt;/span&gt; EventsId &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt; = &lt;span style="color:#006080;"&gt;&amp;quot;165be10c-a5a6-4d57-ac49-0ad7a8bd1cd5&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc6633;"&gt;#End Region&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;&amp;#39; A creatable COM class must have a Public Sub New() &lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;&amp;#39; with no parameters, otherwise, the class will not be &lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;&amp;#39; registered in the COM registry and cannot be created &lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;&amp;#39; via CreateObject.&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt;()&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;MyBase&lt;/span&gt;.&lt;span style="color:#0000ff;"&gt;New&lt;/span&gt;()&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;ReadOnly&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; VersaoBiblioteca() &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;Get&lt;/span&gt;&lt;br /&gt;            m_VersaoBiblioteca = My.Application.Info.Version.ToString&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; m_VersaoBiblioteca&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Get&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Class&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;VBA&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Command0_Click()&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; obj &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; Ukase.M3CommonFunctions&lt;br /&gt;    MsgBox obj.GetMACLVersion&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;strong&gt;Screencast&lt;/strong&gt;&lt;/div&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:962a347e-c4db-4599-8e69-1f2886581de4" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;div&gt;&lt;a target="_new" href="http://www.youtube.com/watch?v=OdQGwV8mwzI"&gt;&lt;img src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jlivio.metablogapi/4745.videoc69b690132ec_5F00_7F3868FF.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1737596" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://msmvps.com/blogs/officept/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://msmvps.com/blogs/officept/archive/tags/Portuguese+Related/default.aspx">Portuguese Related</category></item><item><title>Get Access ADOX Synonymous from Framework DataColumn</title><link>http://msmvps.com/blogs/officept/archive/2009/04/29/get-access-adox-synonymous-from-framework-datacolumn.aspx</link><pubDate>Wed, 29 Apr 2009 20:55:43 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1691558</guid><dc:creator>Joao Livio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1691558</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1691558</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2009/04/29/get-access-adox-synonymous-from-framework-datacolumn.aspx#comments</comments><description>&lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; ADOX.DataTypeEnum GetAccessFormats(DataColumn col)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;switch&lt;/span&gt; (col.DataType.Name)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Boolean&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adBoolean;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Byte&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adUnsignedTinyInt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Char&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adVarWChar;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;DateTime&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adDate;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Decimal&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adDecimal;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Double&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adDouble;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Int16&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adSmallInt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Int32&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adInteger;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Int64&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adInteger;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;SByte&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adUnsignedSmallInt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Single&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adSingle;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;String&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adVarWChar;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;TimeStamp&amp;quot;&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adGUID;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;default&lt;/span&gt;:&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; ADOX.DataTypeEnum.adUserDefined;&lt;br /&gt;            }&lt;br /&gt;        }&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;You can also ENUM the options&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;[Flags]&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;enum&lt;/span&gt; ADOXFields&lt;br /&gt;        {&lt;br /&gt;            AccessText = DataTypeEnum.adVarWChar,&lt;br /&gt;            AccessMemo = DataTypeEnum.adLongVarWChar,&lt;br /&gt;            AccessNumericByte = DataTypeEnum.adUnsignedTinyInt,&lt;br /&gt;            AccessNumericInteger  = DataTypeEnum.adSmallInt,&lt;br /&gt;            AccessNumericLongInteger = DataTypeEnum.adInteger,&lt;br /&gt;            AccessNumericSinglePrecision = DataTypeEnum.adSingle,&lt;br /&gt;            AccessNumericDoublePrecision = DataTypeEnum.adDouble,&lt;br /&gt;            AccessNumericReplicatieId = DataTypeEnum.adGUID,&lt;br /&gt;            AccessNumericDecimal = DataTypeEnum.adNumeric,&lt;br /&gt;            AccessDateTime = DataTypeEnum.adDate,&lt;br /&gt;            AccessCurrency = DataTypeEnum.adCurrency,&lt;br /&gt;            AccessAutoNumber = DataTypeEnum.adInteger,&lt;br /&gt;            AccessYesNo = DataTypeEnum.adBoolean,&lt;br /&gt;            AccessHyperLink = DataTypeEnum.adLongVarWChar&lt;br /&gt;        }&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VB.NET&lt;/strong&gt;&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Shared&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Function&lt;/span&gt; GetAccessFormats(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; col &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; DataColumn) &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ADOX.DataTypeEnum&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;Select&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; (col.DataType.Name)&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Boolean&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adBoolean&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Byte&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adUnsignedTinyInt&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Char&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adVarWChar&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;DateTime&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adDate&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Decimal&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adDecimal&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Double&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adDouble&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Int16&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adSmallInt&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Int32&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adInteger&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Int64&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adInteger&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;SByte&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adUnsignedSmallInt&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;Single&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adSingle&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;String&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adVarWChar&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;TimeStamp&amp;quot;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adGUID&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Else&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; ADOX.DataTypeEnum.adUserDefined&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Select&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; Function&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1691558" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://msmvps.com/blogs/officept/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category></item><item><title>VSTO (Access) – Convert a Field to Upper, Lower, Proper</title><link>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-convert-a-field-to-upper-lower-proper.aspx</link><pubDate>Wed, 22 Apr 2009 21:54:32 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1690142</guid><dc:creator>Joao Livio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1690142</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1690142</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-convert-a-field-to-upper-lower-proper.aspx#comments</comments><description>&lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; ConvertFieldToUpper(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; MyTable, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; MyField)&lt;br /&gt;        {&lt;br /&gt;            Access.Application oAccess = ((Access.Application)&lt;br /&gt;                (Marshal.GetActiveObject(&lt;span style="color:#006080;"&gt;&amp;quot;Access.Application&amp;quot;&lt;/span&gt;)));&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; strSQL;&lt;br /&gt;                strSQL = String.Format(&lt;span style="color:#006080;"&gt;&amp;quot;UPDATE {0} SET {1} = UCase([{1}])&amp;quot;&lt;/span&gt;, MyTable, MyField);&lt;br /&gt;&lt;br /&gt;                oAccess.DoCmd.RunSQL(strSQL.ToString(),&lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;);&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;OK&amp;quot;&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (Exception)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;finally&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                Marshal.ReleaseComObject(oAccess);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; ConvertFieldToLower(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; MyTable, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; MyField)&lt;br /&gt;        {&lt;br /&gt;            Access.Application oAccess = ((Access.Application)&lt;br /&gt;                (Marshal.GetActiveObject(&lt;span style="color:#006080;"&gt;&amp;quot;Access.Application&amp;quot;&lt;/span&gt;)));&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; strSQL;&lt;br /&gt;                strSQL = String.Format(&lt;span style="color:#006080;"&gt;&amp;quot;UPDATE {0} SET {1} = LCase([{1}])&amp;quot;&lt;/span&gt;, MyTable, MyField);&lt;br /&gt;&lt;br /&gt;                oAccess.DoCmd.RunSQL(strSQL.ToString(), &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;);&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;OK&amp;quot;&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (Exception)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;finally&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                Marshal.ReleaseComObject(oAccess);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; ConvertFieldToProper(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; MyTable, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; MyField)&lt;br /&gt;        {&lt;br /&gt;            Access.Application oAccess = ((Access.Application)&lt;br /&gt;                (Marshal.GetActiveObject(&lt;span style="color:#006080;"&gt;&amp;quot;Access.Application&amp;quot;&lt;/span&gt;)));&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; strSQL;&lt;br /&gt;                strSQL = String.Format(&lt;span style="color:#006080;"&gt;&amp;quot;UPDATE {0} SET {1} = STRCONV([{1},3])&amp;quot;&lt;/span&gt;, MyTable, MyField);&lt;br /&gt;&lt;br /&gt;                oAccess.DoCmd.RunSQL(strSQL.ToString(), &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;);&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;OK&amp;quot;&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (Exception)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;finally&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                Marshal.ReleaseComObject(oAccess);                &lt;br /&gt;            }&lt;br /&gt;        }    &lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1690142" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://msmvps.com/blogs/officept/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://msmvps.com/blogs/officept/archive/tags/English+Related/default.aspx">English Related</category></item><item><title>VSTO (Access) a Simple Database initialization</title><link>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-a-simple-database-initialization.aspx</link><pubDate>Wed, 22 Apr 2009 21:50:49 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1690141</guid><dc:creator>Joao Livio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1690141</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1690141</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-a-simple-database-initialization.aspx#comments</comments><description>&lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#008000;"&gt;/// &lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#008000;"&gt;/// &amp;lt;param name=&amp;quot;hideNavigationPane&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#008000;"&gt;/// &amp;lt;param name=&amp;quot;myUIName&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#008000;"&gt;/// &amp;lt;param name=&amp;quot;myUIXML&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;True/False&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; InitializeDatabase(&lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; hideNavigationPane, &lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; myUIName, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; myUIXML)&lt;br /&gt;        {   &lt;br /&gt;            Access.Application oAccess = ((Access.Application)&lt;br /&gt;                   (Marshal.GetActiveObject(&lt;span style="color:#006080;"&gt;&amp;quot;Access.Application&amp;quot;&lt;/span&gt;)));&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {                   &lt;br /&gt;                oAccess.SetOption(&lt;span style="color:#006080;"&gt;&amp;quot;DesignWithData&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;);                &lt;br /&gt;                oAccess.SetOption(&lt;span style="color:#006080;"&gt;&amp;quot;Perform Name AutoCorrect&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;);&lt;br /&gt;                oAccess.SetOption(&lt;span style="color:#006080;"&gt;&amp;quot;Track Name AutoCorrect Info&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;);&lt;br /&gt;                oAccess.SetOption(&lt;span style="color:#006080;"&gt;&amp;quot;Auto Compact&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;);                                &lt;br /&gt;                oAccess.SetOption(&lt;span style="color:#006080;"&gt;&amp;quot;Confirm Record Changes&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;);&lt;br /&gt;                oAccess.SetOption(&lt;span style="color:#006080;"&gt;&amp;quot;Confirm Document Deletions&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;);&lt;br /&gt;                oAccess.SetOption(&lt;span style="color:#006080;"&gt;&amp;quot;Confirm Action Queries&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;                oAccess.LoadCustomUI(myUIName, myUIXML);&lt;br /&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (hideNavigationPane == &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;)&lt;br /&gt;                {&lt;br /&gt;                    oAccess.DoCmd.RunCommand(Access.AcCommand.acCmdWindowHide);&lt;br /&gt;                }                &lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;                &lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (Exception)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;finally&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                Marshal.ReleaseComObject(oAccess);&lt;br /&gt;            }&lt;br /&gt;        }&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1690141" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://msmvps.com/blogs/officept/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://msmvps.com/blogs/officept/archive/tags/English+Related/default.aspx">English Related</category></item><item><title>VSTO (Access) – Convert a Report to XPS</title><link>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-convert-a-report-to-xps.aspx</link><pubDate>Wed, 22 Apr 2009 21:47:34 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1690140</guid><dc:creator>Joao Livio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1690140</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1690140</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-convert-a-report-to-xps.aspx#comments</comments><description>&lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; ConvertReportToXPS(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; myReport, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; XPSFileName)&lt;br /&gt;        {&lt;br /&gt;            Access.Application oAccess = ((Access.Application)&lt;br /&gt;                (Marshal.GetActiveObject(&lt;span style="color:#006080;"&gt;&amp;quot;Access.Application&amp;quot;&lt;/span&gt;)));&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                oAccess.DoCmd.OutputTo(Access.AcOutputObjectType.acOutputReport,&lt;br /&gt;                    myReport, Access.Constants.acFormatXPS, XPSFileName,&lt;br /&gt;                    System.Type.Missing, System.Type.Missing, &lt;br /&gt;                        System.Type.Missing);&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (Exception)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;finally&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                Marshal.ReleaseComObject(oAccess);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1690140" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://msmvps.com/blogs/officept/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://msmvps.com/blogs/officept/archive/tags/English+Related/default.aspx">English Related</category></item><item><title>VSTO (Access) Detect if tables are similar</title><link>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-detect-if-tables-are-similar.aspx</link><pubDate>Wed, 22 Apr 2009 21:42:24 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1690139</guid><dc:creator>Joao Livio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1690139</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1690139</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-detect-if-tables-are-similar.aspx#comments</comments><description>&lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; TablesAreEqual(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; MyTableSource, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; &lt;br /&gt;            MyTableToCompare, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; MyIndexField)&lt;br /&gt;        {                          &lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                OleDbConnection cnn;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (DataSet ds = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; DataSet())&lt;br /&gt;                {&lt;br /&gt;                    OleDbDataAdapter da;&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; cs = &lt;br /&gt;                        oAccess.CurrentProject.Connection.ToString();&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; strSQL = &lt;br /&gt;                        String.Format(&lt;span style="color:#006080;"&gt;&amp;quot;SELECT * FROM {0} LEFT JOIN {1} ON {0}.{2} = {1}.{2}WHERE {1}.{2} Is Null&amp;quot;&lt;/span&gt;&lt;br /&gt;                        , MyTableSource, MyTableToCompare, MyIndexField);&lt;br /&gt;                    cnn = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; OleDbConnection(cs);&lt;br /&gt;                    da = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; OleDbDataAdapter(strSQL, cnn);&lt;br /&gt;                    da.Fill(ds);&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (ds.Tables[0].Rows.Count &amp;lt;= 0)&lt;br /&gt;                        &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;else&lt;/span&gt;&lt;br /&gt;                        &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (Exception)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;finally&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                Marshal.ReleaseComObject(oAccess);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1690139" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://msmvps.com/blogs/officept/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://msmvps.com/blogs/officept/archive/tags/English+Related/default.aspx">English Related</category></item><item><title>VSTO (Access) How to Backup the Current project?</title><link>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-how-to-backup-the-current-project.aspx</link><pubDate>Wed, 22 Apr 2009 21:40:19 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1690138</guid><dc:creator>Joao Livio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1690138</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1690138</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-how-to-backup-the-current-project.aspx#comments</comments><description>&lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;p&gt;Access.Application oAccess = ((Access.Application)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (Marshal.GetActiveObject(&amp;quot;Access.Application&amp;quot;)));&lt;p&gt;&lt;span style="color:#008000;"&gt;// ----------------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Author:                        Joao Tito Livio&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Company:                       MACL&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Assembly version:              0.0.*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Date:                          21-04-2009&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Time:                          23:47&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Project Item Name:             M3DatabaseUtilities.cs&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Project Item Filename:         M3DatabaseUtilities.cs&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Project Item Kind:             Code&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Class FullName:                Macl.M3DatabaseUtilities&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Class Name:                    M3DatabaseUtilities&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Class Kind Description:        Class&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Class Kind Keyword:            class&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Procedure FullName:            Macl.M3DatabaseUtilities.BackupCurrentDatabase&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Procedure Name:                BackupCurrentDatabase&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Procedure Kind Description:    Function&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Procedure Kind Keyword:        &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Function Return Type Name:     Boolean&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Function Return Type FullName: System.Boolean&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Function Return Type Alias:    bool&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Purpose:                       Backup the Current database, CAN BE IN USE&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// Parameters:&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;//    - MyDestinationpathAndFile (string)() :  Path and File (c:\backup.accdb&amp;quot;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#008000;"&gt;// ----------------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; BackupCurrentDatabase(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; MyDestinationpathAndFile)&lt;br /&gt;{               &lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;       Access.Application oAccess = ((Access.Application)&lt;br /&gt;        (Marshal.GetActiveObject(&lt;span style="color:#006080;"&gt;&amp;quot;Access.Application&amp;quot;&lt;/span&gt;)));&lt;br /&gt;&lt;br /&gt;        File.Copy(oAccess.CurrentProject.FullName, &lt;br /&gt;            MyDestinationpathAndFile);&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;                &lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (Exception)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;finally&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;        Marshal.ReleaseComObject(oAccess);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1690138" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/Microsoft+Access/default.aspx">Microsoft Access</category><category domain="http://msmvps.com/blogs/officept/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://msmvps.com/blogs/officept/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://msmvps.com/blogs/officept/archive/tags/English+Related/default.aspx">English Related</category></item><item><title>VSTO (Access) How to execute a SQL Statement from a File?</title><link>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-how-to-execute-a-sql-statement-from-a-file.aspx</link><pubDate>Wed, 22 Apr 2009 21:37:21 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1690137</guid><dc:creator>Joao Livio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1690137</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1690137</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-how-to-execute-a-sql-statement-from-a-file.aspx#comments</comments><description>&lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; ExecuteSqlFromFile(String MyConnectionString, String MyTextFilePath)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (OleDbConnection sqlConnection = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; OleDbConnection(MyConnectionString))&lt;br /&gt;            {&lt;br /&gt;                OleDbCommand cmd = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; OleDbCommand();&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (StreamReader fh = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; StreamReader(MyTextFilePath))&lt;br /&gt;                    {&lt;br /&gt;                        String MyText;&lt;br /&gt;                        &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; s;&lt;br /&gt;                        &lt;span style="color:#0000ff;"&gt;while&lt;/span&gt; ((s = fh.ReadLine()) != &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)&lt;br /&gt;                            MyText = s;&lt;br /&gt;                        fh.Close();&lt;br /&gt;                        cmd.CommandText = s;&lt;br /&gt;                    }&lt;br /&gt;                    cmd.CommandType = CommandType.Text;&lt;br /&gt;                    cmd.Connection = sqlConnection;&lt;br /&gt;                    sqlConnection.Open();&lt;br /&gt;                    cmd.ExecuteNonQuery();&lt;br /&gt;                    sqlConnection.Close();&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;                }&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (Exception)&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;                }&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;finally&lt;/span&gt;&lt;br /&gt;                {&lt;br /&gt;                    sqlConnection.Close();&lt;br /&gt;                    cmd.Dispose();&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1690137" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/Microsoft+Access/default.aspx">Microsoft Access</category><category domain="http://msmvps.com/blogs/officept/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://msmvps.com/blogs/officept/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category></item><item><title>VSTO (Access) how to create a Table with fields in a Access Database (ADOX and JET SQL)</title><link>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-how-to-create-a-table-with-fields-in-a-access-database.aspx</link><pubDate>Wed, 22 Apr 2009 15:57:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1690143</guid><dc:creator>Joao Livio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1690143</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1690143</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2009/04/22/vsto-access-how-to-create-a-table-with-fields-in-a-access-database.aspx#comments</comments><description>&lt;div id="codeSnippetWrapper"&gt;
&lt;pre id="codeSnippet" style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;br /&gt;        &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#008000;"&gt;/// &lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#008000;"&gt;/// &amp;lt;param name=&amp;quot;MyPath&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;True/False&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; GenerateLogDatabase(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; myPath)&lt;br /&gt;        {   &lt;br /&gt;            CatalogClass cat = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; CatalogClass();&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; strSQL;&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; cs;&lt;br /&gt;&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                cs = &lt;span style="color:#006080;"&gt;&amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;&amp;quot;&lt;/span&gt; +&lt;br /&gt;                     &lt;span style="color:#006080;"&gt;&amp;quot;Data Source=&amp;quot;&lt;/span&gt; + myPath + &lt;span style="color:#006080;"&gt;&amp;quot;;&amp;quot;&lt;/span&gt; +&lt;br /&gt;                     &lt;span style="color:#006080;"&gt;&amp;quot;Jet OLEDB:Engine Type=5&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;                strSQL = &lt;span style="color:#006080;"&gt;&amp;quot;CREATE TABLE Issues (mID AUTOINCREMENT, mUser TEXT(100) NOT NULL &amp;quot;&lt;/span&gt; +&lt;br /&gt;                         &lt;span style="color:#006080;"&gt;&amp;quot;, mError TEXT(100) NOT NULL, &amp;quot;&lt;/span&gt; +&lt;br /&gt;                         &lt;span style="color:#006080;"&gt;&amp;quot;mDescription TEXT(100) NOT NULL, mDate DATETIME NOT NULL)&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;                cat.Create(cs);&lt;br /&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (OleDbConnection cnn = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; OleDbConnection(cs))&lt;br /&gt;                {&lt;br /&gt;                    OleDbCommand cmd = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; OleDbCommand();&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;                    {&lt;br /&gt;                        cmd.CommandText = strSQL;&lt;br /&gt;                        cmd.CommandType = CommandType.Text;&lt;br /&gt;                        cmd.Connection = cnn;&lt;br /&gt;                        cnn.Open();&lt;br /&gt;                        cmd.ExecuteNonQuery();&lt;br /&gt;                        cnn.Close();&lt;br /&gt;                        &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;                    }&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (Exception)&lt;br /&gt;                    {&lt;br /&gt;                        &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;                    }&lt;br /&gt;                    &lt;span style="color:#0000ff;"&gt;finally&lt;/span&gt;&lt;br /&gt;                    {&lt;br /&gt;                        cnn.Close();&lt;br /&gt;                        cmd.Dispose();&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (Exception)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;finally&lt;/span&gt;&lt;br /&gt;            {   &lt;br /&gt;                Marshal.FinalReleaseComObject(cat);&lt;br /&gt;            }&lt;br /&gt;        }&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1690143" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/Access+2007/default.aspx">Access 2007</category><category domain="http://msmvps.com/blogs/officept/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://msmvps.com/blogs/officept/archive/tags/English+Related/default.aspx">English Related</category></item><item><title>VBA and Office 14, just to clarify</title><link>http://msmvps.com/blogs/officept/archive/2008/01/19/vba-and-office-14-just-to-clarify.aspx</link><pubDate>Sat, 19 Jan 2008 22:42:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1471046</guid><dc:creator>Joao Livio</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1471046</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1471046</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2008/01/19/vba-and-office-14-just-to-clarify.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;According with Kevin Boske, Microsoft VSTA Program Manager, &lt;em&gt;&amp;quot;there&amp;#39;s been some discussion on this &lt;/em&gt;&lt;a class="" href="http://it.slashdot.org/article.pl?sid=08/01/15/197257"&gt;&lt;em&gt;thread&lt;/em&gt;&lt;/a&gt;&lt;em&gt; on Slashdot, (&lt;/em&gt;&lt;a class="" href="http://it.slashdot.org/article.pl?no_d2=1&amp;amp;sid=08/01/18/0640226"&gt;&lt;em&gt;updated&lt;/em&gt;&lt;/a&gt;&lt;em&gt;) which started &lt;/em&gt;&lt;a class="" href="http://www.regdeveloper.co.uk/2008/01/14/office_mac_08_vba/" target="_blank"&gt;&lt;em&gt;from this article in The Register UK&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. To be clear, &lt;u&gt;Microsoft is not replacing VBA with VSTA or VSTO in Office for Windows&lt;/u&gt;.&amp;nbsp; (though VSTA and VSTO are still important developer tools for Office 14), VBA is here to stay, as was announced some time back by Steven Sinofsky. The &lt;/em&gt;&lt;a class="" href="http://blogs.msdn.com/excel/archive/2008/01/16/clarification-on-vba-support.aspx"&gt;&lt;em&gt;Excel&lt;/em&gt;&lt;/a&gt;&lt;em&gt; and &lt;/em&gt;&lt;a class="" href="http://blogs.msdn.com/access/archive/2008/01/17/vba-in-office-14.aspx#comments"&gt;&lt;em&gt;Access&lt;/em&gt;&lt;/a&gt;&lt;em&gt; Blogs both have posts covering this from the Office perspective.&amp;quot;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;TrackBack From: &lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/kevinboske/archive/2008/01/18/vba-and-office-14.aspx"&gt;http://blogs.msdn.com/kevinboske/archive/2008/01/18/vba-and-office-14.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1471046" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/VBA+Code/default.aspx">VBA Code</category><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://msmvps.com/blogs/officept/archive/tags/Office/default.aspx">Office</category><category domain="http://msmvps.com/blogs/officept/archive/tags/English+Related/default.aspx">English Related</category><category domain="http://msmvps.com/blogs/officept/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>Visual Studio Tools for Office - Videos </title><link>http://msmvps.com/blogs/officept/archive/2007/12/01/visual-studio-tools-for-office-videos.aspx</link><pubDate>Sat, 01 Dec 2007 18:30:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1374534</guid><dc:creator>Joao Livio</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/rsscomments.aspx?PostID=1374534</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/officept/commentapi.aspx?PostID=1374534</wfw:comment><comments>http://msmvps.com/blogs/officept/archive/2007/12/01/visual-studio-tools-for-office-videos.aspx#comments</comments><description>&lt;div class="post hentry"&gt;&lt;a class="" title="1941568696493860994" name="1941568696493860994"&gt;&lt;/a&gt;
&lt;div class="post-header-line-1"&gt;&lt;/div&gt;
&lt;div class="post-body entry-content"&gt;
&lt;h4&gt;&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb892755.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb892755.VSTO-OpenXML.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#1 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb892755.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Create a Word Document Using the SDK for Open XML Formats?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(17 minutes 10 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb931343.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb931343.VSTO-ActionsPane.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#2 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb931343.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use WPF Controls Inside an Excel Actions Pane?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(11 minutes 0 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb669055.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb669055.VSTO-WebServices.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#3 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb669055.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Interact with Web Services from Microsoft Excel?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(25 minutes 29 seconds)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb669056.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb669056.VSTO-OutlookFormRegions.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#4 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb669056.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Create Outlook Form Regions Using Visual Studio 2008?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(17 minutes 10 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb905521.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb905521.VSTO-RibbonDesigner.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#5 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb905521.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use the Ribbon Designer to Customize the Ribbon in Excel?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(17 minutes 7 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb905522.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb905522.VSTO-CustomXMLParts.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#6 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb905522.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use Custom XML Parts with Excel?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(16 minutes 54 seconds)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb879963.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb879963.VSTO-VBAInterop.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#7 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb879963.aspx"&gt;&lt;font color="#cc6633"&gt;How Do I: Use the VSTO/VBA Interoperability Feature in a C# Project?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(12 minutes 32 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb879964.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb879964.VSTO-TaskPanesinOutlook.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#8 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb879964.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use Task Panes in Outlook?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(25 minutes 2 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb879965.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb879965.VSTO-Excel-LINQ.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#9 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb879965.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use LINQ Against Excel Ranges?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(18 minutes 44 seconds)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb872409.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb872409.VSTO-ConsumeDatabaseDatainExcel.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#10 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb872409.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Consume Database Data in Excel?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(21 minutes 11 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb872410.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb872410.VSTO-SummarizeDatainExcelWithDatabaseFunctions.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#11 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb872410.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Quickly Summarize Data in Excel with Database Functions?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(21 minutes 14 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb872411.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb872411.VSTO-UseXMLMappinginExcel.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#12 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb872411.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use XML Mapping in Excel?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(20 minutes 54 seconds)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb870454.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb870454.VSTO-UseSmartTagsinMicrosoftWord.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#13 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb870454.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use Smart Tags in Microsoft Word?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(12 minutes 33 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb870458.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb870458.VSTO-ManageTaskPanesinaWordAdd-in.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#14 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb870458.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Manage Task Panes in Word Add-ins?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(14 minutes 53 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb870460.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb870460.VSTO-CustomizeOutlookItemContextMenus.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#15 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb870460.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Customize Outlook Item Context Menus?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(14 minutes 32 seconds)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb851702.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb851702.VSTO-DeployaVSTOAdd-in.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#16 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb851702.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Deploy a VSTO Add-In?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(15 minutes 53 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb851703.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb851703.VSTO-UseExcelWebServices.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#17 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb851703.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use the Excel Web Services?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(16 minutes 47 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb851704.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb851704.VSTO-UseMOSSEnterpriseSearchfromaClientApplication.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#18 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb851704.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use MOSS Enterprise Search in a Client Application?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(15 minutes 38 seconds)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb839476.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb839476.VSTO-UseEventsExcel2007addin.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#19 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb839476.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use Event Handlers in an Excel 2007 Add-in?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(12 minutes 50 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb839477.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb839477.VSTO-UsetheFindMethodinanExceladd-in.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#20 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb839477.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use the Find Method in an Excel Add-in?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(15 minutes 12 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb839515.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb839515.VSTO-AutomatePowerPointfromanExceladd-in.gif" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#21 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb839515.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Automate PowerPoint from an Excel Add-in?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(18 minutes 14 seconds)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb756879.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb756879.VSTO-SimulateDocumentLevelExcel2007add-in.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#22 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb756879.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Simulate Document Level Customizations with an Excel 2007 Add-in?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(13 minutes 52 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb687947.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb687947.VSTO-CreateAdjoiningFormRegionsinOutlook2007.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#23 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb687947.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Create Adjoining Custom Form Regions in Outlook 2007?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(14 minutes 3 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb738107.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb738107.VSTO-CreateanOutlook2007Add-in.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#24 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb738107.aspx"&gt;&lt;font color="#cc6633"&gt;How Do I: Create an Outlook Add-in?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(11 minutes 03 seconds)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb735850.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb735850.VSTO-DeployaDocumentLevelVSTOSolutionLocally_part_2.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#25 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb735850.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Develop a Document-Level Deployment for Visual Studio Tools for Office 2003? (Part 2)&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(10 minutes 51 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb735002.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb735002.VSTO-DeployaDocumentLevelVSTOSolutionLocally_part1.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#26 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb735002.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Develop a Document-Level Deployment for Office 2003? (Part 1)&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(8 minutes 58 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb684944.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb684944.VSTO-PrepareforaVSTODeployment.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#27 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb684944.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Prepare for Visual Studio Tools for Office 2005 Deployment?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(5 minutes 51 seconds)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb694500.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb694500.VSTO-SynchTaskPaneVisibilitywithRibbonControls.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#28 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb694500.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Control the Visibility of a Custom Task Pane?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(8 minutes 21 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb677157.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb677157.VSTO-CreateUserDefinedFunctionsforExcelServices.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#29 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb677157.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Create Excel Services with User-Defined Functions?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(5 minutes 30 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb629437.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb629437.VSTO-BindSharePointContentTypefieldstoWord2007ContentControls.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#30 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb629437.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Bind Microsoft Office SharePoint Server (MOSS) to Word Content Controls?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#bb3300"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb649501.aspx"&gt;&lt;font color="#bb3300"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb496949.VSTO-BindSharePointContentTypefieldstoExcelRanges.jpg" width="150" border="0" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;#31 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb649501.aspx"&gt;&lt;font color="#bb3300"&gt;How do I: Bind SharePoint Content to Excel Ranges?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(14 minutes 47 seconds )&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;#32 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb500975.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Manipulate Custom XML Parts Outside of Word?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(11 minutes 27 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb496950.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb496950.VSTO1(en-us,MSDN.10).jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#33 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb496950.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Use the Range Object to Manipulate Data in an Excel Workbook?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(10 minutes, 49 seconds )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/office/bb510382.aspx"&gt;&lt;img height="113" alt="" src="http://msdn2.microsoft.com/bb496949.VSTO-ManipulateCustomXMLPartsinWord2007.jpg" width="150" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;#34 &lt;a href="http://msdn2.microsoft.com/en-us/office/bb510382.aspx"&gt;&lt;font color="#bb3300"&gt;How Do I: Manipulate Custom XML Parts in Word 2007?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(12 minutes, 2 seconds )&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="CLEAR:both;"&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class="post-footer"&gt;
&lt;p class="post-footer-line post-footer-line-1"&gt;&lt;span class="post-author vcard"&gt;Publicada por &lt;span class="fn"&gt;Joao Tito Livio&lt;/span&gt; &lt;/span&gt;&lt;span class="post-timestamp"&gt;em &lt;a class="timestamp-link" title="permanent link" href="http://officept.blogspot.com/2007/11/visual-studio-tools-for-office-videos.html" rel="bookmark"&gt;&lt;font color="#bb3300"&gt;9:26 PM&lt;/font&gt;&lt;/a&gt; &lt;/span&gt;&lt;span class="post-comment-link"&gt;&lt;a class="comment-link" href="http://www.blogger.com/comment.g?blogID=28319578&amp;amp;postID=1941568696493860994&amp;amp;isPopup=true"&gt;&lt;font color="#bb3300"&gt;0 comentários&lt;/font&gt;&lt;/a&gt; &lt;/span&gt;&lt;span class="post-icons"&gt;&lt;span class="item-control blog-admin pid-1289909047"&gt;&lt;a title="Editar mensagem" href="http://www.blogger.com/post-edit.g?blogID=28319578&amp;amp;postID=1941568696493860994"&gt;&lt;font color="#bb3300"&gt;&lt;span class="quick-edit-icon"&gt;&amp;nbsp;&lt;/span&gt; &lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="post-footer-line post-footer-line-2"&gt;&lt;span class="post-labels"&gt;Etiquetas: &lt;a href="http://officept.blogspot.com/search/label/Videos%20-%20ScreenCasts" rel="tag"&gt;&lt;font color="#bb3300"&gt;Videos - ScreenCasts&lt;/font&gt;&lt;/a&gt;, &lt;a href="http://officept.blogspot.com/search/label/VSTO" rel="tag"&gt;&lt;font color="#bb3300"&gt;VSTO&lt;/font&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="post-footer-line post-footer-line-3"&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class="post hentry"&gt;&lt;a class="" title="671845348647110401" name="671845348647110401"&gt;&lt;/a&gt;
&lt;h3 class="post-title entry-title"&gt;&lt;a href="http://officept.blogspot.com/2007/11/stovba-interoperability-num-projecto-c.html"&gt;VSTO/VBA Interoperability num Projecto C# (csharp)?&lt;/a&gt; &lt;/h3&gt;
&lt;div class="post-header-line-1"&gt;&lt;/div&gt;
&lt;div class="post-body entry-content"&gt;
&lt;p&gt;&lt;em&gt;Apresentado por &lt;/em&gt;&lt;i&gt;Steve Hansen&lt;/i&gt;&lt;em&gt; em October 16, 2007&lt;/em&gt;&lt;br /&gt;Duração: 12 minutes 32 seconds &lt;/p&gt;
&lt;p&gt;Video Downloads:&lt;br /&gt;&lt;a href="http://download.microsoft.com/download/7/8/1/7817cb9b-326b-4f4b-ac99-791662d3641e/WinVideo-VSTO-VBAInterop.zip"&gt;&lt;font color="#bb3300"&gt;WMV&lt;/font&gt;&lt;/a&gt; &lt;a href="http://download.microsoft.com/download/7/8/1/7817cb9b-326b-4f4b-ac99-791662d3641e/iPod-VSTO-VBAInterop-0.mp4"&gt;&lt;font color="#bb3300"&gt;iPod&lt;/font&gt;&lt;/a&gt; &lt;a href="http://download.microsoft.com/download/7/8/1/7817cb9b-326b-4f4b-ac99-791662d3641e/MP4Video-VSTO-VBAInterop-1.mp4"&gt;&lt;font color="#bb3300"&gt;MP4&lt;/font&gt;&lt;/a&gt; &lt;a href="http://download.microsoft.com/download/7/8/1/7817cb9b-326b-4f4b-ac99-791662d3641e/3GPVideo-VSTO-VBAInterop.3gp"&gt;&lt;font color="#bb3300"&gt;3GP&lt;/font&gt;&lt;/a&gt; &lt;a href="http://download.microsoft.com/download/7/8/1/7817cb9b-326b-4f4b-ac99-791662d3641e/Zune-VSTO-VBAInterop-0.wmv"&gt;&lt;font color="#bb3300"&gt;Zune&lt;/font&gt;&lt;/a&gt; &lt;a href="http://download.microsoft.com/download/7/8/1/7817cb9b-326b-4f4b-ac99-791662d3641e/PSPVideo-VSTO-VBAInterop.zip"&gt;&lt;font color="#bb3300"&gt;PSP&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Código: &lt;a href="http://download.microsoft.com/download/7/8/1/7817cb9b-326b-4f4b-ac99-791662d3641e/VB-VSTO-VBAInterop_vb.zip"&gt;&lt;font color="#bb3300"&gt;Visual Basic&lt;/font&gt;&lt;/a&gt; &lt;a href="http://download.microsoft.com/download/7/8/1/7817cb9b-326b-4f4b-ac99-791662d3641e/CS-VSTO-VBAInterop_cs.zip"&gt;&lt;font color="#bb3300"&gt;Visual C#&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://download.microsoft.com/download/7/8/1/7817cb9b-326b-4f4b-ac99-791662d3641e/WinVideo-VSTO-VBAInterop.wmv"&gt;&lt;img height="113" alt="" hspace="hspace" src="http://msdn2.microsoft.com/bb879963.VSTO-VBAInterop.gif" width="150" align="left" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="CLEAR:both;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1374534" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/officept/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://msmvps.com/blogs/officept/archive/tags/English+Related/default.aspx">English Related</category></item></channel></rss>