Skip to content

Commit 862b5c4

Browse files
committed
Created VB ribbon item template.
1 parent 15816fe commit 862b5c4

12 files changed

Lines changed: 329 additions & 2 deletions

File tree

ExcelDNAVSExtension/ExcelDNAVSExtension.sln

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "VBProjectTemplate", "VBProj
1111
EndProject
1212
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSRibbonTemplate", "CSRibbonTemplate\CSRibbonTemplate.csproj", "{92B351DB-A183-4FD7-A8C7-0F3E5694266F}"
1313
EndProject
14+
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "VBRibbonTemplate", "VBRibbonTemplate\VBRibbonTemplate.vbproj", "{7CA1DFAA-149C-4F24-A89A-29FF0A6C2188}"
15+
EndProject
1416
Global
1517
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1618
Debug|Any CPU = Debug|Any CPU
@@ -33,6 +35,10 @@ Global
3335
{92B351DB-A183-4FD7-A8C7-0F3E5694266F}.Debug|Any CPU.Build.0 = Debug|Any CPU
3436
{92B351DB-A183-4FD7-A8C7-0F3E5694266F}.Release|Any CPU.ActiveCfg = Release|Any CPU
3537
{92B351DB-A183-4FD7-A8C7-0F3E5694266F}.Release|Any CPU.Build.0 = Release|Any CPU
38+
{7CA1DFAA-149C-4F24-A89A-29FF0A6C2188}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
39+
{7CA1DFAA-149C-4F24-A89A-29FF0A6C2188}.Debug|Any CPU.Build.0 = Debug|Any CPU
40+
{7CA1DFAA-149C-4F24-A89A-29FF0A6C2188}.Release|Any CPU.ActiveCfg = Release|Any CPU
41+
{7CA1DFAA-149C-4F24-A89A-29FF0A6C2188}.Release|Any CPU.Build.0 = Release|Any CPU
3642
EndGlobalSection
3743
GlobalSection(SolutionProperties) = preSolution
3844
HideSolutionNode = FALSE

ExcelDNAVSExtension/ExcelDNAVSExtension/ExcelDNAVSExtension.csproj

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,13 @@
112112
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
113113
<IncludeOutputGroupsInVSIX>TemplateProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
114114
</ProjectReference>
115+
<ProjectReference Include="..\VBRibbonTemplate\VBRibbonTemplate.vbproj">
116+
<Project>{7CA1DFAA-149C-4F24-A89A-29FF0A6C2188}</Project>
117+
<Name>VBRibbonTemplate</Name>
118+
<VSIXSubPath>ItemTemplates</VSIXSubPath>
119+
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
120+
<IncludeOutputGroupsInVSIX>TemplateProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
121+
</ProjectReference>
115122
</ItemGroup>
116123
<ItemGroup>
117124
<EmbeddedResource Include="VSPackage.resx">

ExcelDNAVSExtension/ExcelDNAVSExtension/source.extension.vsixmanifest

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
<Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%;PkgdefProjectOutputGroup|" />
2323
<Asset Type="Microsoft.VisualStudio.Assembly" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%|" AssemblyName="|%CurrentProject%;AssemblyName|" />
2424
<Asset Type="Microsoft.VisualStudio.ItemTemplate" d:Source="Project" d:ProjectName="CSRibbonTemplate" d:TargetPath="|CSRibbonTemplate;TemplateProjectOutputGroup|" Path="ItemTemplates" d:VsixSubPath="ItemTemplates" />
25+
<Asset Type="Microsoft.VisualStudio.ItemTemplate" d:Source="Project" d:ProjectName="VBRibbonTemplate" d:TargetPath="|VBRibbonTemplate;TemplateProjectOutputGroup|" Path="ItemTemplates" d:VsixSubPath="ItemTemplates" />
2526
</Assets>
2627
<Prerequisites>
2728
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[16.0,17.0)" DisplayName="Visual Studio core editor" />

ExcelDNAVSExtension/VBProjectTemplate/MyRibbon.vb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
Imports System.IO
2-
Imports System.Runtime.InteropServices
1+
Imports System.Runtime.InteropServices
32
Imports ExcelDna.Integration.CustomUI
43

54
<ComVisible(True)>
2.52 KB
Loading
66.1 KB
Binary file not shown.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Imports System
2+
Imports System.Reflection
3+
Imports System.Runtime.InteropServices
4+
5+
' General Information about an assembly is controlled through the following
6+
' set of attributes. Change these attribute values to modify the information
7+
' associated with an assembly.
8+
9+
' Review the values of the assembly attributes
10+
11+
<Assembly: AssemblyTitle("VBRibbonTemplate")>
12+
<Assembly: AssemblyDescription("")>
13+
<Assembly: AssemblyCompany("Company")>
14+
<Assembly: AssemblyProduct("VBRibbonTemplate")>
15+
<Assembly: AssemblyCopyright("Copyright © Company 2020")>
16+
<Assembly: AssemblyTrademark("")>
17+
18+
<Assembly: ComVisible(False)>
19+
20+
'The following GUID is for the ID of the typelib if this project is exposed to COM
21+
<Assembly: Guid("7ca1dfaa-149c-4f24-a89a-29ff0a6c2188")>
22+
23+
' Version information for an assembly consists of the following four values:
24+
'
25+
' Major Version
26+
' Minor Version
27+
' Build Number
28+
' Revision
29+
'
30+
' You can specify all the values or you can default the Build and Revision Numbers
31+
' by using the '*' as shown below:
32+
' <Assembly: AssemblyVersion("1.0.*")>
33+
34+
<Assembly: AssemblyVersion("1.0.0.0")>
35+
<Assembly: AssemblyFileVersion("1.0.0.0")>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
Imports System.Runtime.InteropServices
2+
Imports ExcelDna.Integration.CustomUI
3+
4+
<ComVisible(True)>
5+
Public Class $safeitemname$
6+
Inherits ExcelRibbon
7+
8+
Public Overrides Function GetCustomUI(RibbonID As String) As String
9+
Return $fileinputname$Resources.Ribbon
10+
End Function
11+
12+
Public Overrides Function LoadImage(imageId As String) As Object
13+
' This will return the image resource with the name specified in the image='xxxx' tag
14+
Return $fileinputname$Resources.ResourceManager.GetObject(imageId)
15+
End Function
16+
17+
Public Sub OnButtonPressed(control As IRibbonControl)
18+
System.Windows.Forms.MessageBox.Show("Hello!")
19+
End Sub
20+
21+
End Class
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<customUI xmlns='http://schemas.microsoft.com/office/2009/07/customui' loadImage='LoadImage'>
3+
<ribbon>
4+
<tabs>
5+
<tab id='tab1' label='$rootnamespace$'>
6+
<group id='group1' label='My Group'>
7+
<button id='button1' label='My Button' onAction='OnButtonPressed' image='Image1'/>
8+
</group>
9+
</tab>
10+
</tabs>
11+
</ribbon>
12+
</customUI>
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<root>
3+
<!--
4+
Microsoft ResX Schema
5+
6+
Version 2.0
7+
8+
The primary goals of this format is to allow a simple XML format
9+
that is mostly human readable. The generation and parsing of the
10+
various data types are done through the TypeConverter classes
11+
associated with the data types.
12+
13+
Example:
14+
15+
... ado.net/XML headers & schema ...
16+
<resheader name="resmimetype">text/microsoft-resx</resheader>
17+
<resheader name="version">2.0</resheader>
18+
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19+
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20+
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21+
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22+
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23+
<value>[base64 mime encoded serialized .NET Framework object]</value>
24+
</data>
25+
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26+
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27+
<comment>This is a comment</comment>
28+
</data>
29+
30+
There are any number of "resheader" rows that contain simple
31+
name/value pairs.
32+
33+
Each data row contains a name, and value. The row also contains a
34+
type or mimetype. Type corresponds to a .NET class that support
35+
text/value conversion through the TypeConverter architecture.
36+
Classes that don't support this are serialized and stored with the
37+
mimetype set.
38+
39+
The mimetype is used for serialized objects, and tells the
40+
ResXResourceReader how to depersist the object. This is currently not
41+
extensible. For a given mimetype the value must be set accordingly:
42+
43+
Note - application/x-microsoft.net.object.binary.base64 is the format
44+
that the ResXResourceWriter will generate, however the reader can
45+
read any of the formats listed below.
46+
47+
mimetype: application/x-microsoft.net.object.binary.base64
48+
value : The object must be serialized with
49+
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
50+
: and then encoded with base64 encoding.
51+
52+
mimetype: application/x-microsoft.net.object.soap.base64
53+
value : The object must be serialized with
54+
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55+
: and then encoded with base64 encoding.
56+
57+
mimetype: application/x-microsoft.net.object.bytearray.base64
58+
value : The object must be serialized into a byte array
59+
: using a System.ComponentModel.TypeConverter
60+
: and then encoded with base64 encoding.
61+
-->
62+
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63+
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
64+
<xsd:element name="root" msdata:IsDataSet="true">
65+
<xsd:complexType>
66+
<xsd:choice maxOccurs="unbounded">
67+
<xsd:element name="metadata">
68+
<xsd:complexType>
69+
<xsd:sequence>
70+
<xsd:element name="value" type="xsd:string" minOccurs="0" />
71+
</xsd:sequence>
72+
<xsd:attribute name="name" use="required" type="xsd:string" />
73+
<xsd:attribute name="type" type="xsd:string" />
74+
<xsd:attribute name="mimetype" type="xsd:string" />
75+
<xsd:attribute ref="xml:space" />
76+
</xsd:complexType>
77+
</xsd:element>
78+
<xsd:element name="assembly">
79+
<xsd:complexType>
80+
<xsd:attribute name="alias" type="xsd:string" />
81+
<xsd:attribute name="name" type="xsd:string" />
82+
</xsd:complexType>
83+
</xsd:element>
84+
<xsd:element name="data">
85+
<xsd:complexType>
86+
<xsd:sequence>
87+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
88+
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
89+
</xsd:sequence>
90+
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
91+
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
92+
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
93+
<xsd:attribute ref="xml:space" />
94+
</xsd:complexType>
95+
</xsd:element>
96+
<xsd:element name="resheader">
97+
<xsd:complexType>
98+
<xsd:sequence>
99+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
100+
</xsd:sequence>
101+
<xsd:attribute name="name" type="xsd:string" use="required" />
102+
</xsd:complexType>
103+
</xsd:element>
104+
</xsd:choice>
105+
</xsd:complexType>
106+
</xsd:element>
107+
</xsd:schema>
108+
<resheader name="resmimetype">
109+
<value>text/microsoft-resx</value>
110+
</resheader>
111+
<resheader name="version">
112+
<value>2.0</value>
113+
</resheader>
114+
<resheader name="reader">
115+
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116+
</resheader>
117+
<resheader name="writer">
118+
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119+
</resheader>
120+
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
121+
<data name="Ribbon" type="System.Resources.ResXFileRef, System.Windows.Forms">
122+
<value>$fileinputname$Resources\Ribbon.xml;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
123+
</data>
124+
<data name="Image1" type="System.Resources.ResXFileRef, System.Windows.Forms">
125+
<value>$fileinputname$Resources\Image1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
126+
</data>
127+
</root>

0 commit comments

Comments
 (0)