Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1489 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
3 changed files with 147 additions and 4 deletions
@ -0,0 +1,145 @@ |
|||||||
|
<?xml version="1.0"?> |
||||||
|
<Template originator = "Mathias Simmack" created = "17/06/06" lastModified = "17/06/06"> |
||||||
|
|
||||||
|
<!-- Template Header --> |
||||||
|
<TemplateConfiguration> |
||||||
|
<!-- |
||||||
|
|
||||||
|
Template.Project.SharedAddin.Name = Shared Add-in |
||||||
|
Template.Project.SharedAddin.Description = Creates a shared add-in for COM applications |
||||||
|
--> |
||||||
|
|
||||||
|
<Name>${res:Templates.Project.SharedAddin.Name}</Name> |
||||||
|
<Category>VBNet</Category> |
||||||
|
<Icon>VBNet.Project.Library</Icon> |
||||||
|
<LanguageName>VBNet</LanguageName> |
||||||
|
<Description>${res:Templates.Project.SharedAddin.Description}</Description> |
||||||
|
</TemplateConfiguration> |
||||||
|
|
||||||
|
<!-- Actions --> |
||||||
|
<Actions> |
||||||
|
<Open filename = "Connect.vb"/> |
||||||
|
</Actions> |
||||||
|
|
||||||
|
<!-- Template Content --> |
||||||
|
<Combine name = "${ProjectName}" directory = "."> |
||||||
|
<Options> |
||||||
|
<StartupProject>${ProjectName}</StartupProject> |
||||||
|
</Options> |
||||||
|
|
||||||
|
<Project name = "${ProjectName}" directory = "."> |
||||||
|
<Options OutputType = "Library" /> |
||||||
|
|
||||||
|
<ProjectItems> |
||||||
|
<Reference Include="System" /> |
||||||
|
<Reference Include="System.Xml" /> |
||||||
|
<Reference Include="System.Data" /> |
||||||
|
<Reference Include="Extensibility" /> |
||||||
|
</ProjectItems> |
||||||
|
|
||||||
|
<PropertyGroup> |
||||||
|
<RegisterForComInterop>true</RegisterForComInterop> |
||||||
|
</PropertyGroup> |
||||||
|
|
||||||
|
<Files> |
||||||
|
<File name="Connect.vb"><![CDATA[${StandardHeader.VBNET} |
||||||
|
|
||||||
|
Imports System |
||||||
|
Imports System.Runtime.InteropServices |
||||||
|
Imports Extensibility |
||||||
|
|
||||||
|
<GuidAttribute("PLACE-A-VALID-GUID-HERE"), ProgId("Test3.Connect")> _ |
||||||
|
Public Class Connect |
||||||
|
Implements Extensibility.IDTExtensibility2 |
||||||
|
|
||||||
|
#Region "Creating an Add-in for Office ..." |
||||||
|
|
||||||
|
' First of all, make sure the "Register for COM Interop" flag in your project |
||||||
|
' options is enabled. Create and add a reference to the Office core |
||||||
|
' tlbimp %CommonProgramFiles%\Microsoft Shared\Office12\mso.dll |
||||||
|
' /out:Microsoft.Office.Interop.dll |
||||||
|
' |
||||||
|
' Then add some code, compile the assembly and register it with |
||||||
|
' regasm ${StandardNamespace}.dll |
||||||
|
' |
||||||
|
' |
||||||
|
' Now create a new Registry key for the Office application, you want to |
||||||
|
' connect to |
||||||
|
' HKLM\Software\Microsoft\Visio\Addins\${StandardNamespace}.Connect |
||||||
|
' HKLM\Software\Microsoft\Office\Word\Addins\${StandardNamespace}.Connect |
||||||
|
' HKLM\Software\Microsoft\Office\Excel\Addins\${StandardNamespace}.Connect |
||||||
|
' HKLM\Software\Microsoft\Office\Outlook\Addins\${StandardNamespace}.Connect |
||||||
|
' HKLM\Software\Microsoft\Office\Publisher\Addins\${StandardNamespace}.Connect |
||||||
|
' HKLM\Software\Microsoft\Office\Access\Addins\${StandardNamespace}.Connect |
||||||
|
' HKLM\Software\Microsoft\Office\PowerPoint\Addins\${StandardNamespace}.Connect |
||||||
|
' HKLM\Software\Microsoft\Office\FrontPage\Addins\${StandardNamespace}.Connect |
||||||
|
' HKLM\Software\Microsoft\Office\MS Project\Addins\${StandardNamespace}.Connect |
||||||
|
' |
||||||
|
' Now create this 3 values |
||||||
|
' LoadBehavior (DWORD) = 3 |
||||||
|
' Description (String) = a descriptive string for your add-in |
||||||
|
' FriendlyName (String) = a name |
||||||
|
' |
||||||
|
' If you don't want to use your add-in anymore, remove those Registry entries and |
||||||
|
' unregister the assembly with |
||||||
|
' regasm ${StandardNamespace}.dll /u |
||||||
|
' |
||||||
|
' |
||||||
|
' The best way, doing these registration steps, is a Setup project. |
||||||
|
|
||||||
|
#End Region |
||||||
|
|
||||||
|
Public Sub New() |
||||||
|
End Sub |
||||||
|
|
||||||
|
Public Sub OnConnection(ByVal Application As Object, ByVal ConnectMode As ext_ConnectMode, ByVal AddInInst As Object, ByRef [custom] As Array) Implements IDTExtensibility2.OnConnection |
||||||
|
Me.ApplicationObject = Application |
||||||
|
Me.AddInInstance = AddInInst |
||||||
|
End Sub |
||||||
|
|
||||||
|
Public Sub OnDisconnection(ByVal RemoveMode As ext_DisconnectMode, ByRef [custom] As Array) Implements IDTExtensibility2.OnDisconnection |
||||||
|
End Sub |
||||||
|
|
||||||
|
Public Sub OnAddInsUpdate(ByRef [custom] As Array) Implements IDTExtensibility2.OnAddInsUpdate |
||||||
|
End Sub |
||||||
|
|
||||||
|
Public Sub OnStartupComplete(ByRef [custom] As Array) Implements IDTExtensibility2.OnStartupComplete |
||||||
|
End Sub |
||||||
|
|
||||||
|
Public Sub OnBeginShutdown(ByRef [custom] As Array) Implements IDTExtensibility2.OnBeginShutdown |
||||||
|
End Sub |
||||||
|
|
||||||
|
Private ApplicationObject As Object |
||||||
|
Private AddInInstance As Object |
||||||
|
End Class]]></File> |
||||||
|
<File name="AssemblyInfo.cs"> |
||||||
|
<![CDATA[Imports System.Reflection |
||||||
|
Imports System.Runtime.CompilerServices |
||||||
|
|
||||||
|
' Information about this assembly is defined by the following |
||||||
|
' attributes. |
||||||
|
' |
||||||
|
' Change them to the information which is associated with the assembly |
||||||
|
' you compile. |
||||||
|
|
||||||
|
<assembly: AssemblyTitle("")> |
||||||
|
<assembly: AssemblyDescription("")> |
||||||
|
<assembly: AssemblyConfiguration("")> |
||||||
|
<assembly: AssemblyCompany("")> |
||||||
|
<assembly: AssemblyProduct("")> |
||||||
|
<assembly: AssemblyCopyright("")> |
||||||
|
<assembly: AssemblyTrademark("")> |
||||||
|
<assembly: AssemblyCulture("")> |
||||||
|
|
||||||
|
' The assembly version has following format : |
||||||
|
' |
||||||
|
' Major.Minor.Build.Revision |
||||||
|
' |
||||||
|
' You can specify all values by your own or you can build default build and revision |
||||||
|
' numbers with the '*' character (the default): |
||||||
|
|
||||||
|
<assembly: AssemblyVersion("1.0.*")>]]></File> |
||||||
|
</Files> |
||||||
|
</Project> |
||||||
|
</Combine> |
||||||
|
</Template> |
||||||
Loading…
Reference in new issue