├── TfCommand ├── Resources │ ├── Messages.ja.Designer.vb │ ├── shelve.png │ ├── Undo_16x.png │ ├── unshelve.png │ ├── Folder_6221.png │ ├── ListBox_686.png │ ├── Rename_6779.png │ ├── History_16xLG.png │ ├── CheckIn_13188_32x.png │ ├── Conflicts16_13278.png │ ├── DisplayName_13394.png │ ├── VisualStudio_32x.png │ ├── folder_Open_32xLG.png │ ├── properties_16xLG.png │ ├── AddItemstoFolder_13217.png │ ├── Compare_13153_inverse.png │ ├── GetLatestVersion_13186.png │ ├── CheckOutforEdit_13187_32x.png │ ├── WebFormTemplate_11274_32x.png │ ├── VisualStudioWindowsDesktop_32x.png │ ├── Messages.ja.resx │ └── Messages.resx ├── Key.snk ├── packages.config ├── OutputTaskPaneControl.vb ├── My Project │ ├── Settings.settings │ ├── Application.Designer.vb │ ├── Application.myapp │ ├── AssemblyInfo.vb │ └── Settings.Designer.vb ├── IAction.vb ├── IDocument.vb ├── CommandEnable.vb ├── ActionContext.vb ├── OutputTaskPaneControl.Designer.vb ├── Vba.vb └── OutputTaskPaneControl.resx ├── ExcelTFSAddIn ├── Key.snk ├── My Project │ ├── Settings.settings │ ├── AssemblyInfo.vb │ ├── Resources.Designer.vb │ ├── Settings.Designer.vb │ └── Resources.resx ├── ThisAddIn.Designer.xml ├── Action.vb └── ThisAddIn.vb ├── VisioTFSAddIn ├── Key.snk ├── My Project │ ├── Settings.settings │ ├── AssemblyInfo.vb │ ├── Resources.Designer.vb │ ├── Settings.Designer.vb │ └── Resources.resx ├── ThisAddIn.Designer.xml ├── ThisAddIn.vb └── Action.vb ├── WordTFSAddIn ├── Key.snk ├── My Project │ ├── Settings.settings │ ├── AssemblyInfo.vb │ ├── Resources.Designer.vb │ ├── Settings.Designer.vb │ └── Resources.resx ├── ThisAddIn.Designer.xml ├── Action.vb └── ThisAddIn.vb ├── ProjectTFSAddIn ├── Key.snk ├── My Project │ ├── Settings.settings │ ├── AssemblyInfo.vb │ ├── Resources.Designer.vb │ ├── Settings.Designer.vb │ └── Resources.resx ├── ThisAddIn.Designer.xml ├── ThisAddIn.vb └── Action.vb ├── PowerPointTFSAddIn ├── Key.snk ├── My Project │ ├── Settings.settings │ ├── AssemblyInfo.vb │ ├── Resources.Designer.vb │ ├── Settings.Designer.vb │ └── Resources.resx ├── ThisAddIn.Designer.xml ├── ThisAddIn.vb └── Action.vb ├── Images ├── Install_tfsaddin01.png ├── Install_tfsaddin02.png ├── Install_tfsaddin03.png ├── Install_tfsaddin04.png ├── Install_tfsaddin05.png ├── Install_tfsaddin06.png ├── Install_tfsaddin01_en.png ├── Install_tfsaddin02_en.png ├── Install_tfsaddin03_en.png ├── Install_tfsaddin04_en.png ├── Install_tfsaddin05_en.png ├── Install_tfsaddin06_en.png ├── Home_msofficetfsaddin_en.png ├── Home_msofficetfsaddin_ja.png ├── Documentation_msofficetfsaddin.png ├── Documentation_msofficetfsaddin2.png ├── Documentation_msofficetfsaddin_ja.png └── Documentation_msofficetfsaddin_ja2.png ├── TortoiseProcCommand ├── Key.snk ├── My Project │ ├── Settings.settings │ ├── Application.Designer.vb │ ├── Application.myapp │ ├── AssemblyInfo.vb │ ├── Resources.Designer.vb │ ├── Settings.Designer.vb │ └── Resources.resx ├── TortoiseProcExe.vb └── TortoiseProcCommand.vbproj ├── Bootstrapper ├── Bundle.wxs └── Bootstrapper.wixproj ├── SetupProject ├── Bundle.wxs └── SetupProject.wixproj ├── License.txt ├── README.ja.md ├── README.md ├── .gitignore └── Build2010.proj /TfCommand/Resources/Messages.ja.Designer.vb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /TfCommand/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Key.snk -------------------------------------------------------------------------------- /ExcelTFSAddIn/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/ExcelTFSAddIn/Key.snk -------------------------------------------------------------------------------- /VisioTFSAddIn/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/VisioTFSAddIn/Key.snk -------------------------------------------------------------------------------- /WordTFSAddIn/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/WordTFSAddIn/Key.snk -------------------------------------------------------------------------------- /ProjectTFSAddIn/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/ProjectTFSAddIn/Key.snk -------------------------------------------------------------------------------- /PowerPointTFSAddIn/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/PowerPointTFSAddIn/Key.snk -------------------------------------------------------------------------------- /Images/Install_tfsaddin01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin01.png -------------------------------------------------------------------------------- /Images/Install_tfsaddin02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin02.png -------------------------------------------------------------------------------- /Images/Install_tfsaddin03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin03.png -------------------------------------------------------------------------------- /Images/Install_tfsaddin04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin04.png -------------------------------------------------------------------------------- /Images/Install_tfsaddin05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin05.png -------------------------------------------------------------------------------- /Images/Install_tfsaddin06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin06.png -------------------------------------------------------------------------------- /TortoiseProcCommand/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TortoiseProcCommand/Key.snk -------------------------------------------------------------------------------- /TfCommand/Resources/shelve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/shelve.png -------------------------------------------------------------------------------- /Images/Install_tfsaddin01_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin01_en.png -------------------------------------------------------------------------------- /Images/Install_tfsaddin02_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin02_en.png -------------------------------------------------------------------------------- /Images/Install_tfsaddin03_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin03_en.png -------------------------------------------------------------------------------- /Images/Install_tfsaddin04_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin04_en.png -------------------------------------------------------------------------------- /Images/Install_tfsaddin05_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin05_en.png -------------------------------------------------------------------------------- /Images/Install_tfsaddin06_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Install_tfsaddin06_en.png -------------------------------------------------------------------------------- /TfCommand/Resources/Undo_16x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/Undo_16x.png -------------------------------------------------------------------------------- /TfCommand/Resources/unshelve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/unshelve.png -------------------------------------------------------------------------------- /Images/Home_msofficetfsaddin_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Home_msofficetfsaddin_en.png -------------------------------------------------------------------------------- /Images/Home_msofficetfsaddin_ja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Home_msofficetfsaddin_ja.png -------------------------------------------------------------------------------- /TfCommand/Resources/Folder_6221.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/Folder_6221.png -------------------------------------------------------------------------------- /TfCommand/Resources/ListBox_686.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/ListBox_686.png -------------------------------------------------------------------------------- /TfCommand/Resources/Rename_6779.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/Rename_6779.png -------------------------------------------------------------------------------- /TfCommand/Resources/History_16xLG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/History_16xLG.png -------------------------------------------------------------------------------- /Images/Documentation_msofficetfsaddin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Documentation_msofficetfsaddin.png -------------------------------------------------------------------------------- /TfCommand/Resources/CheckIn_13188_32x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/CheckIn_13188_32x.png -------------------------------------------------------------------------------- /TfCommand/Resources/Conflicts16_13278.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/Conflicts16_13278.png -------------------------------------------------------------------------------- /TfCommand/Resources/DisplayName_13394.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/DisplayName_13394.png -------------------------------------------------------------------------------- /TfCommand/Resources/VisualStudio_32x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/VisualStudio_32x.png -------------------------------------------------------------------------------- /TfCommand/Resources/folder_Open_32xLG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/folder_Open_32xLG.png -------------------------------------------------------------------------------- /TfCommand/Resources/properties_16xLG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/properties_16xLG.png -------------------------------------------------------------------------------- /Images/Documentation_msofficetfsaddin2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Documentation_msofficetfsaddin2.png -------------------------------------------------------------------------------- /Images/Documentation_msofficetfsaddin_ja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Documentation_msofficetfsaddin_ja.png -------------------------------------------------------------------------------- /Images/Documentation_msofficetfsaddin_ja2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/Images/Documentation_msofficetfsaddin_ja2.png -------------------------------------------------------------------------------- /TfCommand/Resources/AddItemstoFolder_13217.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/AddItemstoFolder_13217.png -------------------------------------------------------------------------------- /TfCommand/Resources/Compare_13153_inverse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/Compare_13153_inverse.png -------------------------------------------------------------------------------- /TfCommand/Resources/GetLatestVersion_13186.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/GetLatestVersion_13186.png -------------------------------------------------------------------------------- /TfCommand/Resources/CheckOutforEdit_13187_32x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/CheckOutforEdit_13187_32x.png -------------------------------------------------------------------------------- /TfCommand/Resources/WebFormTemplate_11274_32x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/WebFormTemplate_11274_32x.png -------------------------------------------------------------------------------- /TfCommand/Resources/VisualStudioWindowsDesktop_32x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miyabis/MSOfficeTFSAddin/HEAD/TfCommand/Resources/VisualStudioWindowsDesktop_32x.png -------------------------------------------------------------------------------- /TfCommand/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /TfCommand/OutputTaskPaneControl.vb: -------------------------------------------------------------------------------- 1 | Public Class OutputTaskPaneControl 2 | 3 | Public Sub AddMessage(ByVal value As String) 4 | Me.txtOutput.AppendText(value) 5 | Me.txtOutput.AppendText(vbCrLf) 6 | End Sub 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /ExcelTFSAddIn/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /TfCommand/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /WordTFSAddIn/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ProjectTFSAddIn/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /VisioTFSAddIn/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PowerPointTFSAddIn/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /TortoiseProcCommand/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /TfCommand/My Project/Application.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | -------------------------------------------------------------------------------- /TortoiseProcCommand/My Project/Application.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | -------------------------------------------------------------------------------- /Bootstrapper/Bundle.wxs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /SetupProject/Bundle.wxs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /TfCommand/My Project/Application.myapp: -------------------------------------------------------------------------------- 1 | 2 | 3 | false 4 | false 5 | 0 6 | true 7 | 0 8 | 1 9 | true 10 | 11 | -------------------------------------------------------------------------------- /TortoiseProcCommand/My Project/Application.myapp: -------------------------------------------------------------------------------- 1 | 2 | 3 | false 4 | false 5 | 0 6 | true 7 | 0 8 | 1 9 | true 10 | 11 | -------------------------------------------------------------------------------- /TfCommand/IAction.vb: -------------------------------------------------------------------------------- 1 | 2 | Public Delegate Sub ExecuteMethod(ByVal context As ActionContext) 3 | 4 | Public Interface IAction 5 | 6 | ''' 7 | ''' 実行 8 | ''' 9 | ''' 10 | ''' 11 | Sub Execute(ByVal method As ExecuteMethod) 12 | 13 | ''' 14 | ''' 実行(閉じて開きなおす) 15 | ''' 16 | ''' 17 | ''' 18 | Sub ExecuteCloseOpen(ByVal method As ExecuteMethod) 19 | 20 | End Interface 21 | -------------------------------------------------------------------------------- /TfCommand/IDocument.vb: -------------------------------------------------------------------------------- 1 | 2 | Public Interface IDocument 3 | 4 | Function ActiveDocument() As Object 5 | 6 | ReadOnly Property Action As IAction 7 | 8 | Sub Close(Optional ByVal saveChanges As Object = Nothing) 9 | 10 | ReadOnly Property FullName As String 11 | 12 | ReadOnly Property Name As String 13 | 14 | Sub Open(ByVal filename As String) 15 | 16 | Property Saved() As Boolean 17 | 18 | Sub Save() 19 | 20 | Sub SaveAs(ByVal filename As String) 21 | 22 | Sub CompareSideBySideWith(ByVal name As String) 23 | 24 | End Interface 25 | -------------------------------------------------------------------------------- /VisioTFSAddIn/ThisAddIn.Designer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /ProjectTFSAddIn/ThisAddIn.Designer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /TfCommand/CommandEnable.vb: -------------------------------------------------------------------------------- 1 | 2 | Public Class CommandEnable 3 | 4 | Public Property btnCheckIn As Boolean 5 | Public Property btnCheckOut As Boolean 6 | Public Property btnUndo As Boolean 7 | Public Property btnShelve As Boolean 8 | Public Property btnResolveByCopy As Boolean 9 | 10 | Public Property btnAdd As Boolean 11 | Public Property btnRename As Boolean 12 | Public Property btnDifference As Boolean 13 | Public Property btnHistory As Boolean 14 | 15 | Public Property btnWebAccess As Boolean 16 | Public Property groupAction As Boolean 17 | Public Property groupWindow As Boolean 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /PowerPointTFSAddIn/ThisAddIn.Designer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /TfCommand/ActionContext.vb: -------------------------------------------------------------------------------- 1 | 2 | Public Class ActionContext 3 | 4 | Private _documnet As IDocument 5 | Private _name As String 6 | 7 | Public Sub New(ByVal documnet As IDocument) 8 | _documnet = documnet 9 | _name = documnet.Name 10 | Me.FullName = documnet.FullName 11 | End Sub 12 | 13 | Public ReadOnly Property Documnet As IDocument 14 | Get 15 | Return _documnet 16 | End Get 17 | End Property 18 | 19 | Public ReadOnly Property Name As String 20 | Get 21 | Return _name 22 | End Get 23 | End Property 24 | 25 | Public Property FullName As String 26 | 27 | Public Property StandardOutput As String 28 | 29 | Public Property StandardError As String 30 | 31 | Public Property OutputActive As Boolean 32 | 33 | Public Property StatusBar As Object 34 | 35 | End Class 36 | -------------------------------------------------------------------------------- /TfCommand/My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | 5 | ' アセンブリに関する一般情報は以下の属性セットをとおして制御されます。 6 | ' アセンブリに関連付けられている情報を変更するには、 7 | ' これらの属性値を変更してください。 8 | 9 | ' アセンブリ属性の値を確認します。 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 'このプロジェクトが COM に公開される場合、次の GUID がタイプ ライブラリの ID になります。 21 | 22 | 23 | ' アセンブリのバージョン情報は、以下の 4 つの値で構成されています: 24 | ' 25 | ' Major Version 26 | ' Minor Version 27 | ' Build Number 28 | ' Revision 29 | ' 30 | ' すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を 31 | ' 既定値にすることができます: 32 | ' 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /ExcelTFSAddIn/ThisAddIn.Designer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /WordTFSAddIn/ThisAddIn.Designer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /TortoiseProcCommand/My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | 5 | ' アセンブリに関する一般情報は以下の属性セットをとおして制御されます。 6 | ' アセンブリに関連付けられている情報を変更するには、 7 | ' これらの属性値を変更してください。 8 | 9 | ' アセンブリ属性の値を確認します。 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 'このプロジェクトが COM に公開される場合、次の GUID がタイプ ライブラリの ID になります。 21 | 22 | 23 | ' アセンブリのバージョン情報は、以下の 4 つの値で構成されています: 24 | ' 25 | ' Major Version 26 | ' Minor Version 27 | ' Build Number 28 | ' Revision 29 | ' 30 | ' すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を 31 | ' 既定値にすることができます: 32 | ' 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /TfCommand/OutputTaskPaneControl.Designer.vb: -------------------------------------------------------------------------------- 1 | _ 2 | Partial Class OutputTaskPaneControl 3 | Inherits System.Windows.Forms.UserControl 4 | 5 | 'UserControl はコンポーネント一覧をクリーンアップするために dispose をオーバーライドします。 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Windows フォーム デザイナーで必要です。 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'メモ: 以下のプロシージャは Windows フォーム デザイナーで必要です。 21 | 'Windows フォーム デザイナーを使用して変更できます。 22 | 'コード エディターを使って変更しないでください。 23 | _ 24 | Private Sub InitializeComponent() 25 | Me.txtOutput = New System.Windows.Forms.RichTextBox() 26 | Me.SuspendLayout() 27 | ' 28 | 'txtOutput 29 | ' 30 | Me.txtOutput.Dock = System.Windows.Forms.DockStyle.Fill 31 | Me.txtOutput.Location = New System.Drawing.Point(0, 0) 32 | Me.txtOutput.Name = "txtOutput" 33 | Me.txtOutput.Size = New System.Drawing.Size(150, 150) 34 | Me.txtOutput.TabIndex = 0 35 | Me.txtOutput.Text = "" 36 | ' 37 | 'OutputTaskPaneControl 38 | ' 39 | Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!) 40 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 41 | Me.Controls.Add(Me.txtOutput) 42 | Me.Name = "OutputTaskPaneControl" 43 | Me.ResumeLayout(False) 44 | 45 | End Sub 46 | Friend WithEvents txtOutput As System.Windows.Forms.RichTextBox 47 | 48 | End Class 49 | -------------------------------------------------------------------------------- /ExcelTFSAddIn/My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | Imports System.Security 5 | 6 | ' アセンブリに関する一般情報は、以下の属性セットによって 7 | ' 制御されます。アセンブリに関連付けられている情報を変更するには、 8 | ' これらの属性値を変更します。 9 | 10 | ' アセンブリの属性値を確認します 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | ' ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから 20 | ' 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、 21 | ' その型の ComVisible 属性を true に設定してください。 22 | 23 | 24 | 'このプロジェクトが COM に公開される場合、次の GUID がタイプ ライブラリの ID になります。 25 | 26 | 27 | ' アセンブリのバージョン情報は、以下の 4 つの値で構成されています: 28 | ' 29 | ' メジャー バージョン 30 | ' マイナー バージョン 31 | ' ビルド番号 32 | ' リビジョン 33 | ' 34 | ' すべての値を指定することも、下に示すように '*' を使用してビルドおよびリビジョン番号を 35 | ' 既定値にすることもできます。 36 | ' 37 | 38 | 39 | 40 | 41 | Friend Module DesignTimeConstants 42 | Public Const RibbonTypeSerializer As String = "Microsoft.VisualStudio.Tools.Office.Ribbon.Serialization.RibbonTypeCodeDomSerializer, Microsoft.VisualStudio.Tools.Office.Designer, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 43 | Public Const RibbonBaseTypeSerializer As String = "System.ComponentModel.Design.Serialization.TypeCodeDomSerializer, System.Design" 44 | Public Const RibbonDesigner As String = "Microsoft.VisualStudio.Tools.Office.Ribbon.Design.RibbonDesigner, Microsoft.VisualStudio.Tools.Office.Designer, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 45 | End Module 46 | -------------------------------------------------------------------------------- /VisioTFSAddIn/My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | Imports System.Security 5 | 6 | ' アセンブリに関する一般情報は、以下の属性セットによって 7 | ' 制御されます。アセンブリに関連付けられている情報を変更するには、 8 | ' これらの属性値を変更します。 9 | 10 | ' アセンブリの属性値を確認します 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | ' ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから 20 | ' 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、 21 | ' その型の ComVisible 属性を true に設定してください。 22 | 23 | 24 | 'このプロジェクトが COM に公開される場合、次の GUID がタイプ ライブラリの ID になります。 25 | 26 | 27 | ' アセンブリのバージョン情報は、以下の 4 つの値で構成されています: 28 | ' 29 | ' メジャー バージョン 30 | ' マイナー バージョン 31 | ' ビルド番号 32 | ' リビジョン 33 | ' 34 | ' すべての値を指定することも、下に示すように '*' を使用してビルドおよびリビジョン番号を 35 | ' 既定値にすることもできます。 36 | ' 37 | 38 | 39 | 40 | 41 | Friend Module DesignTimeConstants 42 | Public Const RibbonTypeSerializer As String = "Microsoft.VisualStudio.Tools.Office.Ribbon.Serialization.RibbonTypeCodeDomSerializer, Microsoft.VisualStudio.Tools.Office.Designer, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 43 | Public Const RibbonBaseTypeSerializer As String = "System.ComponentModel.Design.Serialization.TypeCodeDomSerializer, System.Design" 44 | Public Const RibbonDesigner As String = "Microsoft.VisualStudio.Tools.Office.Ribbon.Design.RibbonDesigner, Microsoft.VisualStudio.Tools.Office.Designer, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 45 | End Module 46 | -------------------------------------------------------------------------------- /WordTFSAddIn/My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | Imports System.Security 5 | 6 | ' アセンブリに関する一般情報は、以下の属性セットによって 7 | ' 制御されます。アセンブリに関連付けられている情報を変更するには、 8 | ' これらの属性値を変更します。 9 | 10 | ' アセンブリの属性値を確認します 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | ' ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから 20 | ' 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、 21 | ' その型の ComVisible 属性を true に設定してください。 22 | 23 | 24 | 'このプロジェクトが COM に公開される場合、次の GUID がタイプ ライブラリの ID になります。 25 | 26 | 27 | ' アセンブリのバージョン情報は、以下の 4 つの値で構成されています: 28 | ' 29 | ' メジャー バージョン 30 | ' マイナー バージョン 31 | ' ビルド番号 32 | ' リビジョン 33 | ' 34 | ' すべての値を指定することも、下に示すように '*' を使用してビルドおよびリビジョン番号を 35 | ' 既定値にすることもできます。 36 | ' 37 | 38 | 39 | 40 | 41 | Friend Module DesignTimeConstants 42 | Public Const RibbonTypeSerializer As String = "Microsoft.VisualStudio.Tools.Office.Ribbon.Serialization.RibbonTypeCodeDomSerializer, Microsoft.VisualStudio.Tools.Office.Designer, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 43 | Public Const RibbonBaseTypeSerializer As String = "System.ComponentModel.Design.Serialization.TypeCodeDomSerializer, System.Design" 44 | Public Const RibbonDesigner As String = "Microsoft.VisualStudio.Tools.Office.Ribbon.Design.RibbonDesigner, Microsoft.VisualStudio.Tools.Office.Designer, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 45 | End Module 46 | -------------------------------------------------------------------------------- /ProjectTFSAddIn/My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | Imports System.Security 5 | 6 | ' アセンブリに関する一般情報は、以下の属性セットによって 7 | ' 制御されます。アセンブリに関連付けられている情報を変更するには、 8 | ' これらの属性値を変更します。 9 | 10 | ' アセンブリの属性値を確認します 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | ' ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから 20 | ' 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、 21 | ' その型の ComVisible 属性を true に設定してください。 22 | 23 | 24 | 'このプロジェクトが COM に公開される場合、次の GUID がタイプ ライブラリの ID になります。 25 | 26 | 27 | ' アセンブリのバージョン情報は、以下の 4 つの値で構成されています: 28 | ' 29 | ' メジャー バージョン 30 | ' マイナー バージョン 31 | ' ビルド番号 32 | ' リビジョン 33 | ' 34 | ' すべての値を指定することも、下に示すように '*' を使用してビルドおよびリビジョン番号を 35 | ' 既定値にすることもできます。 36 | ' 37 | 38 | 39 | 40 | 41 | Friend Module DesignTimeConstants 42 | Public Const RibbonTypeSerializer As String = "Microsoft.VisualStudio.Tools.Office.Ribbon.Serialization.RibbonTypeCodeDomSerializer, Microsoft.VisualStudio.Tools.Office.Designer, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 43 | Public Const RibbonBaseTypeSerializer As String = "System.ComponentModel.Design.Serialization.TypeCodeDomSerializer, System.Design" 44 | Public Const RibbonDesigner As String = "Microsoft.VisualStudio.Tools.Office.Ribbon.Design.RibbonDesigner, Microsoft.VisualStudio.Tools.Office.Designer, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 45 | End Module 46 | -------------------------------------------------------------------------------- /PowerPointTFSAddIn/My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | Imports System.Security 5 | 6 | ' アセンブリに関する一般情報は、以下の属性セットによって 7 | ' 制御されます。アセンブリに関連付けられている情報を変更するには、 8 | ' これらの属性値を変更します。 9 | 10 | ' アセンブリの属性値を確認します 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | ' ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから 20 | ' 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、 21 | ' その型の ComVisible 属性を true に設定してください。 22 | 23 | 24 | 'このプロジェクトが COM に公開される場合、次の GUID がタイプ ライブラリの ID になります。 25 | 26 | 27 | ' アセンブリのバージョン情報は、以下の 4 つの値で構成されています: 28 | ' 29 | ' メジャー バージョン 30 | ' マイナー バージョン 31 | ' ビルド番号 32 | ' リビジョン 33 | ' 34 | ' すべての値を指定することも、下に示すように '*' を使用してビルドおよびリビジョン番号を 35 | ' 既定値にすることもできます。 36 | ' 37 | 38 | 39 | 40 | 41 | Friend Module DesignTimeConstants 42 | Public Const RibbonTypeSerializer As String = "Microsoft.VisualStudio.Tools.Office.Ribbon.Serialization.RibbonTypeCodeDomSerializer, Microsoft.VisualStudio.Tools.Office.Designer, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 43 | Public Const RibbonBaseTypeSerializer As String = "System.ComponentModel.Design.Serialization.TypeCodeDomSerializer, System.Design" 44 | Public Const RibbonDesigner As String = "Microsoft.VisualStudio.Tools.Office.Ribbon.Design.RibbonDesigner, Microsoft.VisualStudio.Tools.Office.Designer, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 45 | End Module 46 | -------------------------------------------------------------------------------- /Bootstrapper/Bootstrapper.wixproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | x86 6 | 3.10 7 | 9685590e-5410-4b78-a2c5-6b41f8648a02 8 | 2.0 9 | Bootstrapper 10 | Bundle 11 | $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets 12 | $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets 13 | SAK 14 | SAK 15 | SAK 16 | SAK 17 | 18 | 19 | bin\$(Configuration)\ 20 | obj\$(Configuration)\ 21 | Debug 22 | 23 | 24 | bin\$(Configuration)\ 25 | obj\$(Configuration)\ 26 | 27 | 28 | 29 | 30 | 31 | 32 | $(WixExtDir)\WixNetFxExtension.dll 33 | WixNetFxExtension 34 | 35 | 36 | $(WixExtDir)\WixBalExtension.dll 37 | WixBalExtension 38 | 39 | 40 | 41 | 49 | -------------------------------------------------------------------------------- /License.txt: -------------------------------------------------------------------------------- 1 | Microsoft Public License (MS-PL) 2 | 3 | This license governs use of the accompanying software. If you use the software, you 4 | accept this license. If you do not accept the license, do not use the software. 5 | 6 | 1. Definitions 7 | The terms "reproduce," "reproduction," "derivative works," and "distribution" have the 8 | same meaning here as under U.S. copyright law. 9 | A "contribution" is the original software, or any additions or changes to the software. 10 | A "contributor" is any person that distributes its contribution under this license. 11 | "Licensed patents" are a contributor's patent claims that read directly on its contribution. 12 | 13 | 2. Grant of Rights 14 | (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. 15 | (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 16 | 17 | 3. Conditions and Limitations 18 | (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. 19 | (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. 20 | (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. 21 | (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. 22 | (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. 23 | -------------------------------------------------------------------------------- /WordTFSAddIn/My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | Imports System 15 | 16 | Namespace My.Resources 17 | 18 | 'このクラスは StronglyTypedResourceBuilder クラスが ResGen 19 | 'または Visual Studio のようなツールを使用して自動生成されました。 20 | 'メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に 21 | 'ResGen を実行し直すか、または VS プロジェクトをビルドし直します。 22 | ''' 23 | ''' ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。 24 | ''' 25 | _ 29 | Friend Module Resources 30 | 31 | Private resourceMan As Global.System.Resources.ResourceManager 32 | 33 | Private resourceCulture As Global.System.Globalization.CultureInfo 34 | 35 | ''' 36 | ''' このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 37 | ''' 38 | _ 39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 40 | Get 41 | If Object.ReferenceEquals(resourceMan, Nothing) Then 42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("WordTFSAddIn.Resources", GetType(Resources).Assembly) 43 | resourceMan = temp 44 | End If 45 | Return resourceMan 46 | End Get 47 | End Property 48 | 49 | ''' 50 | ''' すべてについて、現在のスレッドの CurrentUICulture プロパティをオーバーライドします 51 | ''' 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。 52 | ''' 53 | _ 54 | Friend Property Culture() As Global.System.Globalization.CultureInfo 55 | Get 56 | Return resourceCulture 57 | End Get 58 | Set 59 | resourceCulture = value 60 | End Set 61 | End Property 62 | End Module 63 | End Namespace 64 | -------------------------------------------------------------------------------- /ExcelTFSAddIn/My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | Imports System 15 | 16 | Namespace My.Resources 17 | 18 | 'このクラスは StronglyTypedResourceBuilder クラスが ResGen 19 | 'または Visual Studio のようなツールを使用して自動生成されました。 20 | 'メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に 21 | 'ResGen を実行し直すか、または VS プロジェクトをビルドし直します。 22 | ''' 23 | ''' ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。 24 | ''' 25 | _ 29 | Friend Module Resources 30 | 31 | Private resourceMan As Global.System.Resources.ResourceManager 32 | 33 | Private resourceCulture As Global.System.Globalization.CultureInfo 34 | 35 | ''' 36 | ''' このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 37 | ''' 38 | _ 39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 40 | Get 41 | If Object.ReferenceEquals(resourceMan, Nothing) Then 42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ExcelTFSAddIn.Resources", GetType(Resources).Assembly) 43 | resourceMan = temp 44 | End If 45 | Return resourceMan 46 | End Get 47 | End Property 48 | 49 | ''' 50 | ''' すべてについて、現在のスレッドの CurrentUICulture プロパティをオーバーライドします 51 | ''' 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。 52 | ''' 53 | _ 54 | Friend Property Culture() As Global.System.Globalization.CultureInfo 55 | Get 56 | Return resourceCulture 57 | End Get 58 | Set 59 | resourceCulture = value 60 | End Set 61 | End Property 62 | End Module 63 | End Namespace 64 | -------------------------------------------------------------------------------- /VisioTFSAddIn/My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | Imports System 15 | 16 | Namespace My.Resources 17 | 18 | 'このクラスは StronglyTypedResourceBuilder クラスが ResGen 19 | 'または Visual Studio のようなツールを使用して自動生成されました。 20 | 'メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に 21 | 'ResGen を実行し直すか、または VS プロジェクトをビルドし直します。 22 | ''' 23 | ''' ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。 24 | ''' 25 | _ 29 | Friend Module Resources 30 | 31 | Private resourceMan As Global.System.Resources.ResourceManager 32 | 33 | Private resourceCulture As Global.System.Globalization.CultureInfo 34 | 35 | ''' 36 | ''' このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 37 | ''' 38 | _ 39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 40 | Get 41 | If Object.ReferenceEquals(resourceMan, Nothing) Then 42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("VisioTFSAddIn.Resources", GetType(Resources).Assembly) 43 | resourceMan = temp 44 | End If 45 | Return resourceMan 46 | End Get 47 | End Property 48 | 49 | ''' 50 | ''' すべてについて、現在のスレッドの CurrentUICulture プロパティをオーバーライドします 51 | ''' 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。 52 | ''' 53 | _ 54 | Friend Property Culture() As Global.System.Globalization.CultureInfo 55 | Get 56 | Return resourceCulture 57 | End Get 58 | Set 59 | resourceCulture = value 60 | End Set 61 | End Property 62 | End Module 63 | End Namespace 64 | -------------------------------------------------------------------------------- /ProjectTFSAddIn/My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | Imports System 15 | 16 | Namespace My.Resources 17 | 18 | 'このクラスは StronglyTypedResourceBuilder クラスが ResGen 19 | 'または Visual Studio のようなツールを使用して自動生成されました。 20 | 'メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に 21 | 'ResGen を実行し直すか、または VS プロジェクトをビルドし直します。 22 | ''' 23 | ''' ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。 24 | ''' 25 | _ 29 | Friend Module Resources 30 | 31 | Private resourceMan As Global.System.Resources.ResourceManager 32 | 33 | Private resourceCulture As Global.System.Globalization.CultureInfo 34 | 35 | ''' 36 | ''' このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 37 | ''' 38 | _ 39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 40 | Get 41 | If Object.ReferenceEquals(resourceMan, Nothing) Then 42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ProjectTFSAddIn.Resources", GetType(Resources).Assembly) 43 | resourceMan = temp 44 | End If 45 | Return resourceMan 46 | End Get 47 | End Property 48 | 49 | ''' 50 | ''' すべてについて、現在のスレッドの CurrentUICulture プロパティをオーバーライドします 51 | ''' 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。 52 | ''' 53 | _ 54 | Friend Property Culture() As Global.System.Globalization.CultureInfo 55 | Get 56 | Return resourceCulture 57 | End Get 58 | Set 59 | resourceCulture = value 60 | End Set 61 | End Property 62 | End Module 63 | End Namespace 64 | -------------------------------------------------------------------------------- /PowerPointTFSAddIn/My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | Imports System 15 | 16 | Namespace My.Resources 17 | 18 | 'このクラスは StronglyTypedResourceBuilder クラスが ResGen 19 | 'または Visual Studio のようなツールを使用して自動生成されました。 20 | 'メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に 21 | 'ResGen を実行し直すか、または VS プロジェクトをビルドし直します。 22 | ''' 23 | ''' ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。 24 | ''' 25 | _ 29 | Friend Module Resources 30 | 31 | Private resourceMan As Global.System.Resources.ResourceManager 32 | 33 | Private resourceCulture As Global.System.Globalization.CultureInfo 34 | 35 | ''' 36 | ''' このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 37 | ''' 38 | _ 39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 40 | Get 41 | If Object.ReferenceEquals(resourceMan, Nothing) Then 42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("PowerPointTFSAddIn.Resources", GetType(Resources).Assembly) 43 | resourceMan = temp 44 | End If 45 | Return resourceMan 46 | End Get 47 | End Property 48 | 49 | ''' 50 | ''' すべてについて、現在のスレッドの CurrentUICulture プロパティをオーバーライドします 51 | ''' 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。 52 | ''' 53 | _ 54 | Friend Property Culture() As Global.System.Globalization.CultureInfo 55 | Get 56 | Return resourceCulture 57 | End Get 58 | Set 59 | resourceCulture = value 60 | End Set 61 | End Property 62 | End Module 63 | End Namespace 64 | -------------------------------------------------------------------------------- /TortoiseProcCommand/My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | Imports System 15 | 16 | Namespace My.Resources 17 | 18 | 'このクラスは StronglyTypedResourceBuilder クラスが ResGen 19 | 'または Visual Studio のようなツールを使用して自動生成されました。 20 | 'メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に 21 | 'ResGen を実行し直すか、または VS プロジェクトをビルドし直します。 22 | ''' 23 | ''' ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。 24 | ''' 25 | _ 29 | Friend Module Resources 30 | 31 | Private resourceMan As Global.System.Resources.ResourceManager 32 | 33 | Private resourceCulture As Global.System.Globalization.CultureInfo 34 | 35 | ''' 36 | ''' このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 37 | ''' 38 | _ 39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 40 | Get 41 | If Object.ReferenceEquals(resourceMan, Nothing) Then 42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("MiYABiS.TortoiseProcCommand.Resources", GetType(Resources).Assembly) 43 | resourceMan = temp 44 | End If 45 | Return resourceMan 46 | End Get 47 | End Property 48 | 49 | ''' 50 | ''' すべてについて、現在のスレッドの CurrentUICulture プロパティをオーバーライドします 51 | ''' 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。 52 | ''' 53 | _ 54 | Friend Property Culture() As Global.System.Globalization.CultureInfo 55 | Get 56 | Return resourceCulture 57 | End Get 58 | Set 59 | resourceCulture = value 60 | End Set 61 | End Property 62 | End Module 63 | End Namespace 64 | -------------------------------------------------------------------------------- /WordTFSAddIn/My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | 16 | _ 19 | Partial Friend NotInheritable Class MySettings 20 | Inherits Global.System.Configuration.ApplicationSettingsBase 21 | 22 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) 23 | 24 | #Region "My.Settings 自動保存機能" 25 | #If _MyType = "WindowsForms" Then 26 | Private Shared addedHandler As Boolean 27 | 28 | Private Shared addedHandlerLockObject As New Object 29 | 30 | _ 31 | Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) 32 | If My.Application.SaveMySettingsOnExit Then 33 | My.Settings.Save() 34 | End If 35 | End Sub 36 | #End If 37 | #End Region 38 | 39 | Public Shared ReadOnly Property [Default]() As MySettings 40 | Get 41 | 42 | #If _MyType = "WindowsForms" Then 43 | If Not addedHandler Then 44 | SyncLock addedHandlerLockObject 45 | If Not addedHandler Then 46 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 47 | addedHandler = True 48 | End If 49 | End SyncLock 50 | End If 51 | #End If 52 | Return defaultInstance 53 | End Get 54 | End Property 55 | End Class 56 | 57 | Namespace My 58 | 59 | _ 62 | Friend Module MySettingsProperty 63 | 64 | _ 65 | Friend ReadOnly Property Settings() As Global.WordTFSAddIn.MySettings 66 | Get 67 | Return Global.WordTFSAddIn.MySettings.Default 68 | End Get 69 | End Property 70 | End Module 71 | End Namespace 72 | -------------------------------------------------------------------------------- /ExcelTFSAddIn/My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | 16 | _ 19 | Partial Friend NotInheritable Class MySettings 20 | Inherits Global.System.Configuration.ApplicationSettingsBase 21 | 22 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) 23 | 24 | #Region "My.Settings 自動保存機能" 25 | #If _MyType = "WindowsForms" Then 26 | Private Shared addedHandler As Boolean 27 | 28 | Private Shared addedHandlerLockObject As New Object 29 | 30 | _ 31 | Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) 32 | If My.Application.SaveMySettingsOnExit Then 33 | My.Settings.Save() 34 | End If 35 | End Sub 36 | #End If 37 | #End Region 38 | 39 | Public Shared ReadOnly Property [Default]() As MySettings 40 | Get 41 | 42 | #If _MyType = "WindowsForms" Then 43 | If Not addedHandler Then 44 | SyncLock addedHandlerLockObject 45 | If Not addedHandler Then 46 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 47 | addedHandler = True 48 | End If 49 | End SyncLock 50 | End If 51 | #End If 52 | Return defaultInstance 53 | End Get 54 | End Property 55 | End Class 56 | 57 | Namespace My 58 | 59 | _ 62 | Friend Module MySettingsProperty 63 | 64 | _ 65 | Friend ReadOnly Property Settings() As Global.ExcelTFSAddIn.MySettings 66 | Get 67 | Return Global.ExcelTFSAddIn.MySettings.Default 68 | End Get 69 | End Property 70 | End Module 71 | End Namespace 72 | -------------------------------------------------------------------------------- /VisioTFSAddIn/My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | 16 | _ 19 | Partial Friend NotInheritable Class MySettings 20 | Inherits Global.System.Configuration.ApplicationSettingsBase 21 | 22 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) 23 | 24 | #Region "My.Settings 自動保存機能" 25 | #If _MyType = "WindowsForms" Then 26 | Private Shared addedHandler As Boolean 27 | 28 | Private Shared addedHandlerLockObject As New Object 29 | 30 | _ 31 | Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) 32 | If My.Application.SaveMySettingsOnExit Then 33 | My.Settings.Save() 34 | End If 35 | End Sub 36 | #End If 37 | #End Region 38 | 39 | Public Shared ReadOnly Property [Default]() As MySettings 40 | Get 41 | 42 | #If _MyType = "WindowsForms" Then 43 | If Not addedHandler Then 44 | SyncLock addedHandlerLockObject 45 | If Not addedHandler Then 46 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 47 | addedHandler = True 48 | End If 49 | End SyncLock 50 | End If 51 | #End If 52 | Return defaultInstance 53 | End Get 54 | End Property 55 | End Class 56 | 57 | Namespace My 58 | 59 | _ 62 | Friend Module MySettingsProperty 63 | 64 | _ 65 | Friend ReadOnly Property Settings() As Global.VisioTFSAddIn.MySettings 66 | Get 67 | Return Global.VisioTFSAddIn.MySettings.Default 68 | End Get 69 | End Property 70 | End Module 71 | End Namespace 72 | -------------------------------------------------------------------------------- /ProjectTFSAddIn/My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | 16 | _ 19 | Partial Friend NotInheritable Class MySettings 20 | Inherits Global.System.Configuration.ApplicationSettingsBase 21 | 22 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) 23 | 24 | #Region "My.Settings 自動保存機能" 25 | #If _MyType = "WindowsForms" Then 26 | Private Shared addedHandler As Boolean 27 | 28 | Private Shared addedHandlerLockObject As New Object 29 | 30 | _ 31 | Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) 32 | If My.Application.SaveMySettingsOnExit Then 33 | My.Settings.Save() 34 | End If 35 | End Sub 36 | #End If 37 | #End Region 38 | 39 | Public Shared ReadOnly Property [Default]() As MySettings 40 | Get 41 | 42 | #If _MyType = "WindowsForms" Then 43 | If Not addedHandler Then 44 | SyncLock addedHandlerLockObject 45 | If Not addedHandler Then 46 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 47 | addedHandler = True 48 | End If 49 | End SyncLock 50 | End If 51 | #End If 52 | Return defaultInstance 53 | End Get 54 | End Property 55 | End Class 56 | 57 | Namespace My 58 | 59 | _ 62 | Friend Module MySettingsProperty 63 | 64 | _ 65 | Friend ReadOnly Property Settings() As Global.ProjectTFSAddIn.MySettings 66 | Get 67 | Return Global.ProjectTFSAddIn.MySettings.Default 68 | End Get 69 | End Property 70 | End Module 71 | End Namespace 72 | -------------------------------------------------------------------------------- /PowerPointTFSAddIn/My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | 16 | _ 19 | Partial Friend NotInheritable Class MySettings 20 | Inherits Global.System.Configuration.ApplicationSettingsBase 21 | 22 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) 23 | 24 | #Region "My.Settings 自動保存機能" 25 | #If _MyType = "WindowsForms" Then 26 | Private Shared addedHandler As Boolean 27 | 28 | Private Shared addedHandlerLockObject As New Object 29 | 30 | _ 31 | Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) 32 | If My.Application.SaveMySettingsOnExit Then 33 | My.Settings.Save() 34 | End If 35 | End Sub 36 | #End If 37 | #End Region 38 | 39 | Public Shared ReadOnly Property [Default]() As MySettings 40 | Get 41 | 42 | #If _MyType = "WindowsForms" Then 43 | If Not addedHandler Then 44 | SyncLock addedHandlerLockObject 45 | If Not addedHandler Then 46 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 47 | addedHandler = True 48 | End If 49 | End SyncLock 50 | End If 51 | #End If 52 | Return defaultInstance 53 | End Get 54 | End Property 55 | End Class 56 | 57 | Namespace My 58 | 59 | _ 62 | Friend Module MySettingsProperty 63 | 64 | _ 65 | Friend ReadOnly Property Settings() As Global.PowerPointTFSAddIn.MySettings 66 | Get 67 | Return Global.PowerPointTFSAddIn.MySettings.Default 68 | End Get 69 | End Property 70 | End Module 71 | End Namespace 72 | -------------------------------------------------------------------------------- /TfCommand/My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | _ 20 | Partial Friend NotInheritable Class MySettings 21 | Inherits Global.System.Configuration.ApplicationSettingsBase 22 | 23 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) 24 | 25 | #Region "My.Settings 自動保存機能" 26 | #If _MyType = "WindowsForms" Then 27 | Private Shared addedHandler As Boolean 28 | 29 | Private Shared addedHandlerLockObject As New Object 30 | 31 | _ 32 | Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) 33 | If My.Application.SaveMySettingsOnExit Then 34 | My.Settings.Save() 35 | End If 36 | End Sub 37 | #End If 38 | #End Region 39 | 40 | Public Shared ReadOnly Property [Default]() As MySettings 41 | Get 42 | 43 | #If _MyType = "WindowsForms" Then 44 | If Not addedHandler Then 45 | SyncLock addedHandlerLockObject 46 | If Not addedHandler Then 47 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 48 | addedHandler = True 49 | End If 50 | End SyncLock 51 | End If 52 | #End If 53 | Return defaultInstance 54 | End Get 55 | End Property 56 | End Class 57 | End Namespace 58 | 59 | Namespace My 60 | 61 | _ 64 | Friend Module MySettingsProperty 65 | 66 | _ 67 | Friend ReadOnly Property Settings() As Global.MiYABiS.TfCommand.My.MySettings 68 | Get 69 | Return Global.MiYABiS.TfCommand.My.MySettings.Default 70 | End Get 71 | End Property 72 | End Module 73 | End Namespace 74 | -------------------------------------------------------------------------------- /TortoiseProcCommand/My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' このコードはツールによって生成されました。 4 | ' ランタイム バージョン:4.0.30319.42000 5 | ' 6 | ' このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | ' コードが再生成されるときに損失したりします。 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | _ 20 | Partial Friend NotInheritable Class MySettings 21 | Inherits Global.System.Configuration.ApplicationSettingsBase 22 | 23 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) 24 | 25 | #Region "My.Settings 自動保存機能" 26 | #If _MyType = "WindowsForms" Then 27 | Private Shared addedHandler As Boolean 28 | 29 | Private Shared addedHandlerLockObject As New Object 30 | 31 | _ 32 | Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) 33 | If My.Application.SaveMySettingsOnExit Then 34 | My.Settings.Save() 35 | End If 36 | End Sub 37 | #End If 38 | #End Region 39 | 40 | Public Shared ReadOnly Property [Default]() As MySettings 41 | Get 42 | 43 | #If _MyType = "WindowsForms" Then 44 | If Not addedHandler Then 45 | SyncLock addedHandlerLockObject 46 | If Not addedHandler Then 47 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 48 | addedHandler = True 49 | End If 50 | End SyncLock 51 | End If 52 | #End If 53 | Return defaultInstance 54 | End Get 55 | End Property 56 | End Class 57 | End Namespace 58 | 59 | Namespace My 60 | 61 | _ 64 | Friend Module MySettingsProperty 65 | 66 | _ 67 | Friend ReadOnly Property Settings() As Global.MiYABiS.TortoiseProcCommand.My.MySettings 68 | Get 69 | Return Global.MiYABiS.TortoiseProcCommand.My.MySettings.Default 70 | End Get 71 | End Property 72 | End Module 73 | End Namespace 74 | -------------------------------------------------------------------------------- /README.ja.md: -------------------------------------------------------------------------------- 1 | # MS Office TFS Addin 2 | 3 | Excel や Word 等の Office 系文書を TFS でソース管理している場合、修正した際にチェックインするためだけに Visual Studio を起動しないといけないのは不便です。このアドインを使うとリボンに TFS タブが追加され、Visual Studio を起動しなくてもチェックイン等の TFS バージョン操作コマンドが実行できます。内部的には [TFS のバージョン管理コマンドラインツールの TF.exe](https://msdn.microsoft.com/ja-jp/library/cc31bk2e(v=vs.120).aspx) を操作しています。 4 | ついでに VBA のコードもソース管理するために、エクスポート機能もつけました。 5 | 「コピーして競合を解決」メニューは、[TortoiseSVN](https://tortoisesvn.net/) または [TortoiseGit](https://tortoisegit.org/) が既にインストールされている場合、Excel、WordはTortoiseSVNまたはTortoiseGitを使用して比較できます。 6 | 7 | ## TFS リボンタブメニュー 8 | 9 | * 外部 10 | * Visual Studio 11 | * エクスプローラで開く 12 | * Web Access 13 | * VBA 14 | * エクスポート 15 | * 操作 16 | * 最新を取得(ブック) 17 | * 最新を取得(フォルダ) 18 | * 最新を取得(ワークスペース) 19 | * チェックアウト 20 | * 追加 21 | * 名前の変更 22 | * 元に戻す 23 | * チェックイン 24 | * 棚上げ (シェルブ) 25 | * 棚上げを復元 (アンシェルブ) 26 | * コピーして競合を解決 27 | * 競合の解決 28 | * 履歴 29 | * 比較 30 | * プロパティ 31 | * ウィンドウ 32 | * 出力 33 | 34 | 開いた文書ファイルが TFS 管理下(ワークスペース内)であれば全てのメニューが表示されます。 35 | 36 | ![](Images/Documentation_msofficetfsaddin_ja.png) 37 | 38 | 管理下でないときは、TFS操作以外のメニューのみが表示されます。 39 | 40 | ![](Images/Documentation_msofficetfsaddin_ja2.png) 41 | 42 | ## 必要な環境 43 | 44 | .Net Framework 4.7.2 45 | 46 | ## 動作する Office アプリケーション 47 | 48 | | | 2019 | 2016 | 2013 | 2010 | 49 | |------------|:----:|:----:|:----:|:----:| 50 | | Excel | O | O | O | O | 51 | | Word | O | O | O | O | 52 | | PowerPoint | O | O | O | O | 53 | | Project | *1 | *1 | O | O | 54 | | Visio | *1 | *1 | O | O | 55 | 56 | *1 : 動作は未確認です 57 | 58 | ## 動作する TF.exe 59 | 60 | | | 2022 | 2019 | 2017 | 2015 | 2013 | 2012 | 2010 | 61 | |---------------|:----:|:----:|:----:|:----:|:----:|:----:|:----:| 62 | | Visual Studio | O | O | O | O | O | O | O | 63 | | Team Explorer | O | O | O | O | O | O | O | 64 | 65 | ## 言語 66 | 67 | * English 68 | 69 | ![](Images/Home_msofficetfsaddin_en.png) 70 | 71 | * Japanese 72 | 73 | ![](Images/Home_msofficetfsaddin_ja.png) 74 | 75 | 76 | ## ライセンス 77 | 78 | Microsoft Public License (MS-PL) 79 | 80 | http://opensource.org/licenses/MS-PL 81 | 82 | 83 | ## インストールと設定 84 | 85 | ダウンロードした圧縮ファイルを適当なフォルダへ解凍し、各種VSTOファイルを実行してください。 86 | セットアップファイルをインストールした場合は「C:\Program Files (x86)\MiYABiS\MSOfficeTFSAddin」フォルダ配下の各種VSTOファイルを実行してください。 87 | 88 | * インストール時に下記のエラーが発生するとき 89 | 90 | ![](Images/Install_tfsaddin02.png) 91 | 92 | VSTOファイルのプロパティを開きブロックの解除ボタンをクリックしてプロパティ画面を閉じます。 93 | 94 | ![](Images/Install_tfsaddin03.png) 95 | 96 | * この状態でインストールし下記のエラーが発生するとき 97 | 98 | ![](Images/Install_tfsaddin04.png) 99 | 100 | 各Addinのmanifestファイルのプロパティを開き同様にブロックの解除を行ってから再度インストールします。 101 | 102 | ![](Images/Install_tfsaddin05.png) 103 | 104 | * この状態でインストールし下記のエラーが発生するとき 105 | 106 | ![](Images/Install_tfsaddin06.png) 107 | 108 | エラーメッセージに表示されている「VSTOInstaller.exe.config」ファイルを「VSTOInstaller.exe.config.bak」等にリネームします。 109 | 110 | ## Office のマクロの設定 111 | 112 | ![](Images/Install_tfsaddin01.png) 113 | 114 | ## バージョンアップ 115 | 116 | バージョンアップするときは、前回と同じフォルダへ解凍してください。 117 | VSTOファイルは実行しなくてもExcelやWordを実行すると自動でバージョンアップされます。 118 | 119 | -------------------------------------------------------------------------------- /SetupProject/SetupProject.wixproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | x86 6 | 3.10 7 | dcc876fd-a63e-4f8b-af8b-247ed7b3d09a 8 | 2.0 9 | MSOfficeTFSAddin 10 | Package 11 | $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets 12 | $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets 13 | SAK 14 | SAK 15 | SAK 16 | SAK 17 | 18 | 19 | bin\$(Configuration)\ 20 | obj\$(Configuration)\ 21 | XFiles=..\ExcelTFSAddIn\bin\$(Configuration)\;PpFiles=..\PowerPointTFSAddIn\bin\$(Configuration)\;PjFiles=..\ProjectTFSAddIn\bin\$(Configuration)\;VFiles=..\VisioTFSAddIn\bin\$(Configuration)\;WFiles=..\WordTFSAddIn\bin\$(Configuration)\ 22 | en-US;ja-JP 23 | 24 | 25 | bin\$(Configuration)\ 26 | obj\$(Configuration)\ 27 | XFiles=..\ExcelTFSAddIn\bin\$(Configuration)\;PpFiles=..\PowerPointTFSAddIn\bin\$(Configuration)\;PjFiles=..\ProjectTFSAddIn\bin\$(Configuration)\;VFiles=..\VisioTFSAddIn\bin\$(Configuration)\;WFiles=..\WordTFSAddIn\bin\$(Configuration)\ 28 | en-US;ja-JP 29 | 30 | 31 | 32 | 33 | 34 | 35 | $(WixExtDir)\WixUIExtension.dll 36 | WixUIExtension 37 | 38 | 39 | $(WixExtDir)\WixNetFxExtension.dll 40 | WixNetFxExtension 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 67 | -------------------------------------------------------------------------------- /TortoiseProcCommand/TortoiseProcExe.vb: -------------------------------------------------------------------------------- 1 | 2 | Imports System.IO 3 | Imports System.Diagnostics 4 | Imports System.Text 5 | Imports Microsoft.Win32 6 | 7 | ''' 8 | ''' TortoiseProcExe コマンド実行 9 | ''' 10 | ''' 11 | Public Class TortoiseProcExe 12 | 13 | #Region " Declare " 14 | 15 | Private _exePath As String 16 | Private _exe As Process 17 | Private _exeInfo As ProcessStartInfo 18 | 19 | Private _exitCode As Integer 20 | Private _standardOutput As String 21 | Private _standardError As String 22 | 23 | #End Region 24 | 25 | #Region " コンストラクタ " 26 | 27 | ''' 28 | ''' デフォルトコンストラクタ 29 | ''' 30 | ''' 31 | Public Sub New() 32 | _init() 33 | End Sub 34 | 35 | #End Region 36 | #Region " Property " 37 | 38 | ''' 39 | ''' 実行可能かどうか 40 | ''' 41 | ''' 42 | ''' 43 | ''' 44 | Public ReadOnly Property IsExecute As Boolean 45 | Get 46 | Return Not String.IsNullOrEmpty(_exePath) 47 | End Get 48 | End Property 49 | 50 | #End Region 51 | #Region " Method " 52 | 53 | ''' 54 | ''' 比較実行 55 | ''' 56 | ''' 57 | ''' 58 | ''' 59 | ''' 60 | Public Function Diff(ByVal filename As String, ByVal filename2 As String) As Boolean 61 | Const C_CMD As String = "/command:diff /path:""{0}"" /path2:""{1}""" 62 | Dim args As StringBuilder = New StringBuilder 63 | args.AppendFormat(C_CMD, filename, filename2) 64 | Return _commandExecute(args.ToString) 65 | End Function 66 | 67 | ''' 68 | ''' 初期化 69 | ''' 70 | ''' 71 | Private Sub _init() 72 | Const C_VALUE As String = "ProcPath" 73 | Dim key As RegistryKey = Nothing 74 | key = Registry.LocalMachine.OpenSubKey("SOFTWARE\TortoiseSVN") 75 | If key Is Nothing Then 76 | key = Registry.LocalMachine.OpenSubKey("SOFTWARE\TortoiseGit") 77 | If key Is Nothing Then 78 | Return 79 | End If 80 | End If 81 | _exePath = key.GetValue(C_VALUE) 82 | 83 | _exeInfo = New ProcessStartInfo() 84 | _exeInfo.LoadUserProfile = True 85 | _exeInfo.UseShellExecute = False 86 | _exeInfo.CreateNoWindow = True 87 | _exeInfo.RedirectStandardError = True 88 | _exeInfo.RedirectStandardOutput = True 89 | _exeInfo.FileName = _exePath 90 | End Sub 91 | 92 | ''' 93 | ''' コマンド実行 94 | ''' 95 | ''' 96 | ''' 97 | ''' 98 | Private Function _commandExecute(ByVal args As String) As Boolean 99 | If Not Me.IsExecute Then 100 | Return False 101 | End If 102 | 103 | _exeInfo.Arguments = args 104 | 105 | _exe = Process.Start(_exeInfo) 106 | _exe.WaitForExit() 107 | 108 | _standardOutput = _exe.StandardOutput.ReadToEnd() 109 | _standardError = _exe.StandardError.ReadToEnd() 110 | _exitCode = _exe.ExitCode 111 | If Not _exitCode.Equals(0) Then 112 | Return False 113 | End If 114 | Return True 115 | End Function 116 | 117 | #End Region 118 | 119 | End Class 120 | -------------------------------------------------------------------------------- /ProjectTFSAddIn/ThisAddIn.vb: -------------------------------------------------------------------------------- 1 | 2 | Public Class ThisAddIn 3 | Implements IDocument 4 | 5 | Private _action As IAction 6 | 7 | Private _open As Boolean 8 | 9 | #Region " Handles " 10 | 11 | #Region " ThisAddIn " 12 | 13 | Private Sub ThisAddIn_Startup() Handles Me.Startup 14 | Globals.Ribbons.TfsRibbon.Disable() 15 | _action = New Action(Globals.Ribbons.TfsRibbon, Me) 16 | End Sub 17 | 18 | Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown 19 | End Sub 20 | 21 | #End Region 22 | #Region " Application " 23 | 24 | Private Sub Application_WindowActivate(activatedWindow As MSProject.Window) Handles Application.WindowActivate 25 | SetEnabled(Application.ActiveProject, False) 26 | End Sub 27 | 28 | Private Sub Application_ProjectAfterSave() Handles Application.ProjectAfterSave 29 | SetEnabled(Globals.ThisAddIn.ActiveDocument, True) 30 | End Sub 31 | 32 | Private Sub Application_ProjectBeforeClose(pj As MSProject.Project, ByRef Cancel As Boolean) Handles Application.ProjectBeforeClose 33 | TF.CloseOutputTaskPane(pj) 34 | End Sub 35 | 36 | #End Region 37 | 38 | #End Region 39 | 40 | #Region " Implements " 41 | 42 | Public ReadOnly Property Action As IAction Implements IDocument.Action 43 | Get 44 | Return _action 45 | End Get 46 | End Property 47 | 48 | Public Function ActiveDocument() As Object Implements IDocument.ActiveDocument 49 | Return Globals.ThisAddIn.Application.ActiveProject 50 | End Function 51 | 52 | Public Sub Close(Optional saveChanges As Object = Nothing) Implements IDocument.Close 53 | Globals.ThisAddIn.Application.ActiveWindow.Close() 54 | End Sub 55 | 56 | Public Sub CompareSideBySideWith(name As String) Implements IDocument.CompareSideBySideWith 57 | End Sub 58 | 59 | Public ReadOnly Property FullName As String Implements IDocument.FullName 60 | Get 61 | Dim filename As String = TF.GetLocalPath(Globals.ThisAddIn.Application.ActiveProject.FullName) 62 | Return filename 63 | End Get 64 | End Property 65 | 66 | Public ReadOnly Property Name As String Implements IDocument.Name 67 | Get 68 | Return Globals.ThisAddIn.Application.ActiveProject.Name 69 | End Get 70 | End Property 71 | 72 | Public Sub Open(filename As String) Implements IDocument.Open 73 | Globals.ThisAddIn.Application.FileOpenEx(filename) 74 | End Sub 75 | 76 | Public Sub Save() Implements IDocument.Save 77 | Globals.ThisAddIn.Application.ActiveProject.Save() 78 | End Sub 79 | 80 | Public Sub SaveAs(filename As String) Implements IDocument.SaveAs 81 | Globals.ThisAddIn.Application.ActiveProject.SaveAs(filename) 82 | End Sub 83 | 84 | Public Property Saved As Boolean Implements IDocument.Saved 85 | Get 86 | Return Globals.ThisAddIn.Application.ActiveProject.Saved 87 | End Get 88 | Set(value As Boolean) 89 | End Set 90 | End Property 91 | 92 | #End Region 93 | 94 | #Region " Method " 95 | 96 | Private Sub SetEnabled(Wb As MSProject.Project, ByVal force As Boolean) 97 | If Wb Is Nothing Then 98 | Return 99 | End If 100 | 101 | Globals.Ribbons.TfsRibbon.SetEnabled(Wb, force, True) 102 | End Sub 103 | 104 | Private Function TF() As TfExe 105 | If Globals.Ribbons.TfsRibbon.Tf Is Nothing Then 106 | Globals.Ribbons.TfsRibbon.Init() 107 | End If 108 | Return Globals.Ribbons.TfsRibbon.Tf 109 | End Function 110 | 111 | #End Region 112 | 113 | End Class 114 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MS Office TFS Addin 2 | 3 | Microsoft Office (Excel, Word, PowerPoint, Project, Visio) add-ins that assist document version control. 4 | You can invoke TF.exe ([TFS version control command line tool TF.exe](https://msdn.microsoft.com/en-US/library/cc31bk2e(v=vs.120).aspx)) commands from tool bar or ribbon interface of Microsoft Office. 5 | In addition, we have also added the function to export VBA code. 6 | The "Copy and resolve conflict" menu can be compared using Excel, Word using [TortoiseSVN](https://tortoisesvn.net/) or [TortoiseGit](https://tortoisegit.org/) if TortoiseSVN or TortoiseGit is already installed. 7 | 8 | 日本語のドキュメントは [こちら](README.ja.md)。 9 | 10 | ## TFS Ribbon Tab Menu 11 | 12 | * Ext 13 | * Start Visual Studio 14 | * Open in Explorer 15 | * Web Access 16 | * VBA 17 | * VBA Export 18 | * Action 19 | * Get This Book 20 | * Get This Folder 21 | * Get Workspace 22 | * Check Out 23 | * Add 24 | * Rename 25 | * Undo 26 | * Check In 27 | * Shelve Pending 28 | * Unshelve Shelveset 29 | * Resolve by Copy 30 | * Resolve 31 | * History 32 | * Compare 33 | * Properties 34 | * Window 35 | * Output 36 | 37 | If the opened document file is TFS controlled (in the workspace), all menus are displayed. 38 | 39 | ![](Images/Documentation_msofficetfsaddin.png) 40 | 41 | When not under control, only menus other than TFS operation are displayed. 42 | 43 | ![](Images/Documentation_msofficetfsaddin2.png) 44 | 45 | 46 | ## For Use 47 | 48 | .Net Framework 4.7.2 49 | 50 | ## Office Application Supports 51 | 52 | | | 2019 | 2016 | 2013 | 2010 | 53 | |------------|:----:|:----:|:----:|:----:| 54 | | Excel | O | O | O | O | 55 | | Word | O | O | O | O | 56 | | PowerPoint | O | O | O | O | 57 | | Project | *1 | *1 | O | O | 58 | | Visio | *1 | *1 | O | O | 59 | 60 | *1 : Operation is unconfirmed 61 | 62 | ## TF.exe Supports 63 | 64 | | | 2022 | 2019 | 2017 | 2015 | 2013 | 2012 | 2010 | 65 | |---------------|:----:|:----:|:----:|:----:|:----:|:----:|:----:| 66 | | Visual Studio | O | O | O | O | O | O | O | 67 | | Team Explorer | O | O | O | O | O | O | O | 68 | 69 | ## Language Supports 70 | 71 | * English 72 | 73 | ![](Images/Home_msofficetfsaddin_en.png) 74 | 75 | * Japanese 76 | 77 | ![](Images/Home_msofficetfsaddin_ja.png) 78 | 79 | 80 | ## License 81 | 82 | Microsoft Public License (MS-PL) 83 | 84 | http://opensource.org/licenses/MS-PL 85 | 86 | 87 | ## Install 88 | 89 | Extract the downloaded compressed file to a suitable folder and execute various VSTO files. 90 | When installing the setup file please execute various VSTO files under "C:\Program Files (x86)\MiYABiS\MSOfficeTFSAddin" folder. 91 | 92 | * When the following error occurs during installation 93 | 94 | ![](Images/Install_tfsaddin02_en.png) 95 | 96 | Open the property of the VSTO file and click the Unblock button or checkbox checked to close the properties screen. 97 | 98 | ![](Images/Install_tfsaddin03_en.png) 99 | 100 | * When installing in this state, when the following error occurs 101 | 102 | ![](Images/Install_tfsaddin04_en.png) 103 | 104 | Open the property of each Addin's manifest file, unblock in the same way, and install again. 105 | 106 | ![](Images/Install_tfsaddin05_en.png) 107 | 108 | * When installing in this state, when the following error occurs 109 | 110 | ![](Images/Install_tfsaddin06_en.png) 111 | 112 | Rename the "VSTOInstaller.exe.config" file displayed in the error message to "VSTOInstaller.exe.config.bak" etc. 113 | 114 | ## Office macro settings 115 | 116 | ![](Images/Install_tfsaddin01_en.png) 117 | 118 | ## Version upgrade 119 | 120 | To upgrade, please unzip to the same folder as last time. 121 | Even if you do not run the VSTO file, it will be upgraded automatically when you run Excel or Word. 122 | -------------------------------------------------------------------------------- /VisioTFSAddIn/ThisAddIn.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.Office.Interop.Visio 2 | 3 | Public Class ThisAddIn 4 | Implements IDocument 5 | 6 | Private _action As IAction 7 | 8 | Private _open As Boolean 9 | 10 | #Region " Handles " 11 | 12 | #Region " ThisAddIn " 13 | 14 | Private Sub ThisAddIn_Startup() Handles Me.Startup 15 | Globals.Ribbons.TfsRibbon.Disable() 16 | _action = New Action(Globals.Ribbons.TfsRibbon, Me) 17 | End Sub 18 | 19 | Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown 20 | 21 | End Sub 22 | 23 | #End Region 24 | #Region " Application " 25 | 26 | Private Sub Application_WindowActivated(Window As Visio.Window) Handles Application.WindowActivated 27 | If _open Then 28 | _open = False 29 | Return 30 | End If 31 | SetEnabled(Me.ActiveDocument, False) 32 | End Sub 33 | 34 | Private Sub Application_WindowOpened(Window As Window) Handles Application.WindowOpened 35 | SetEnabled(Window.Document, True) 36 | _open = True 37 | End Sub 38 | 39 | Private Sub Application_DocumentSaved(doc As Visio.Document) Handles Application.DocumentSaved 40 | SetEnabled(doc, True) 41 | End Sub 42 | 43 | Private Sub Application_BeforeWindowClosed(Window As Visio.Window) Handles Application.BeforeWindowClosed 44 | TF.CloseOutputTaskPane(Me.ActiveDocument) 45 | Globals.Ribbons.TfsRibbon.RemoveEnables(Me.ActiveDocument) 46 | End Sub 47 | 48 | #End Region 49 | 50 | #End Region 51 | 52 | #Region " Implements " 53 | 54 | Public ReadOnly Property Action As IAction Implements IDocument.Action 55 | Get 56 | Return _action 57 | End Get 58 | End Property 59 | 60 | Public Function ActiveDocument() As Object Implements IDocument.ActiveDocument 61 | Return Globals.ThisAddIn.Application.ActiveDocument 62 | End Function 63 | 64 | Public Sub Close(Optional saveChanges As Object = Nothing) Implements IDocument.Close 65 | Globals.ThisAddIn.Application.ActiveDocument.Close() 66 | End Sub 67 | 68 | Public Sub CompareSideBySideWith(name As String) Implements IDocument.CompareSideBySideWith 69 | End Sub 70 | 71 | Public ReadOnly Property FullName As String Implements IDocument.FullName 72 | Get 73 | Dim filename As String = TF.GetLocalPath(Globals.ThisAddIn.Application.ActiveDocument.FullName) 74 | Return filename 75 | End Get 76 | End Property 77 | 78 | Public ReadOnly Property Name As String Implements IDocument.Name 79 | Get 80 | Return Globals.ThisAddIn.Application.ActiveDocument.Name 81 | End Get 82 | End Property 83 | 84 | Public Sub Open(filename As String) Implements IDocument.Open 85 | Globals.ThisAddIn.Application.Documents.Open(filename) 86 | End Sub 87 | 88 | Public Sub Save() Implements IDocument.Save 89 | Globals.ThisAddIn.Application.ActiveDocument.Save() 90 | End Sub 91 | 92 | Public Sub SaveAs(filename As String) Implements IDocument.SaveAs 93 | Globals.ThisAddIn.Application.ActiveDocument.SaveAs(filename) 94 | End Sub 95 | 96 | Public Property Saved As Boolean Implements IDocument.Saved 97 | Get 98 | Return Globals.ThisAddIn.Application.ActiveDocument.Saved 99 | End Get 100 | Set(value As Boolean) 101 | End Set 102 | End Property 103 | 104 | #End Region 105 | 106 | #Region " Method " 107 | 108 | Private Sub SetEnabled(Wb As Visio.Document, ByVal force As Boolean) 109 | If Wb Is Nothing Then 110 | Return 111 | End If 112 | 113 | Globals.Ribbons.TfsRibbon.SetEnabled(Wb, force, True) 114 | End Sub 115 | 116 | Private Function TF() As TfExe 117 | If Globals.Ribbons.TfsRibbon.Tf Is Nothing Then 118 | Globals.Ribbons.TfsRibbon.Init() 119 | End If 120 | Return Globals.Ribbons.TfsRibbon.Tf 121 | End Function 122 | 123 | #End Region 124 | 125 | End Class 126 | -------------------------------------------------------------------------------- /TfCommand/Vba.vb: -------------------------------------------------------------------------------- 1 | 2 | Imports System.Windows.Forms 3 | Imports Microsoft.Vbe.Interop 4 | 5 | Public Class Vba 6 | 7 | Public Sub Export(ByVal document As IDocument, ByVal vbp As VBProject, ByVal tf As TfExe) 8 | If Not document.Saved Then 9 | Dim rc As DialogResult 10 | rc = MessageBox.Show(TfCommand.My.Resources.Messages.Q002, 11 | TfCommand.My.Resources.Messages.MessageBoxTitle, 12 | MessageBoxButtons.YesNoCancel, 13 | MessageBoxIcon.Question, 14 | MessageBoxDefaultButton.Button3) 15 | If rc = DialogResult.Cancel Then 16 | Return 17 | End If 18 | If rc = DialogResult.Yes Then 19 | document.Save() 20 | End If 21 | End If 22 | Dim names() As String = document.Name.Split(".") 23 | If names.Count.Equals(1) Then 24 | Return 25 | End If 26 | 27 | Dim path As String 28 | path = IO.Path.Combine(document.FullName.Replace(document.Name, String.Empty), document.Name & ".vba") 29 | 30 | Using dlg As New System.Windows.Forms.FolderBrowserDialog 31 | dlg.RootFolder = Environment.SpecialFolder.Desktop 32 | dlg.SelectedPath = IO.Path.GetDirectoryName(path) 33 | dlg.ShowNewFolderButton = True 34 | If dlg.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then 35 | Return 36 | End If 37 | path = dlg.SelectedPath 38 | End Using 39 | 40 | Dim addflag As Boolean = tf.IsAdd(document.Name) 41 | 42 | For Each component As VBComponent In vbp.VBComponents 43 | Dim fileExt As String 44 | Dim fullname As String 45 | fileExt = _getExt(component) 46 | If fileExt = String.Empty Then 47 | Continue For 48 | End If 49 | 50 | fullname = _export(component, path, fileExt) 51 | If addflag Then 52 | Continue For 53 | End If 54 | 55 | tf.Add(fullname) 56 | If Not fullname.EndsWith(".frm") Then 57 | Continue For 58 | End If 59 | 60 | tf.Add(fullname.Replace(".frm", ".frx")) 61 | Next 62 | End Sub 63 | 64 | Private Function _getExt(ByVal component As VBComponent) As String 65 | Select Case component.Type 66 | Case vbext_ComponentType.vbext_ct_StdModule 67 | Return "bas" 68 | Case vbext_ComponentType.vbext_ct_ClassModule, vbext_ComponentType.vbext_ct_Document 69 | Return "cls" 70 | Case vbext_ComponentType.vbext_ct_MSForm 71 | Return "frm" 72 | Case Else 73 | Return "bas" 74 | End Select 75 | End Function 76 | 77 | Private Function _export(ByVal component As VBComponent, ByVal outPath As String, ByVal ext As String) As String 78 | Dim dinfo As New IO.DirectoryInfo(outPath) 79 | Dim fullname As String = IO.Path.Combine(dinfo.FullName, component.Name & "." & ext) 80 | 81 | 'If component.CodeModule.CountOfLines.Equals(0) Then 82 | ' If IO.File.Exists(fullname) Then 83 | ' IO.File.Delete(fullname) 84 | ' If fullname.EndsWith(".frm") Then 85 | ' IO.File.Delete(fullname.Replace("frm", "frx")) 86 | ' End If 87 | ' End If 88 | ' Return 89 | 'End If 90 | 91 | If Not dinfo.Exists Then 92 | dinfo.Create() 93 | End If 94 | 95 | component.Export(fullname) 96 | '_cnvEnc(fullname) 97 | 98 | Return fullname 99 | End Function 100 | 101 | Private Sub _cnvEnc(ByVal filename As String) 102 | Dim s As String 103 | Using sr As New System.IO.StreamReader(filename, System.Text.Encoding.GetEncoding("shift_jis")) 104 | s = sr.ReadToEnd() 105 | End Using 106 | If filename.EndsWith(".frx") Then 107 | Return 108 | End If 109 | Using sw As New System.IO.StreamWriter(filename, False) 110 | sw.Write(s) 111 | End Using 112 | End Sub 113 | 114 | End Class 115 | -------------------------------------------------------------------------------- /ExcelTFSAddIn/Action.vb: -------------------------------------------------------------------------------- 1 | 2 | Imports System.IO 3 | Imports System.Diagnostics 4 | Imports System.Windows.Forms 5 | Imports Microsoft.Office.Tools.Ribbon 6 | Imports Microsoft.Win32 7 | Imports MiYABiS 8 | 9 | ''' 10 | ''' アクション 11 | ''' 12 | ''' 13 | Public Class Action 14 | Implements IAction 15 | 16 | Private _ribbon As TfsRibbon 17 | Private _document As IDocument 18 | 19 | ''' 20 | ''' コンストラクタ 21 | ''' 22 | ''' 23 | ''' 24 | ''' 25 | Public Sub New(ByVal ribbon As TfsRibbon, ByVal document As IDocument) 26 | _ribbon = ribbon 27 | _document = document 28 | End Sub 29 | 30 | ''' 31 | ''' 実行 32 | ''' 33 | ''' 34 | ''' 35 | Public Sub Execute(method As ExecuteMethod) Implements IAction.Execute 36 | Dim context As New ActionContext(_document) 37 | 38 | Globals.ThisAddIn.Application.StatusBar = False 39 | 40 | Try 41 | ' コマンド実行 42 | method(context) 43 | Catch ex As Exception 44 | context.StandardError &= vbCrLf & ex.Message 45 | End Try 46 | 47 | ' 状態チェック 48 | _ribbon.SetEnabled(_document.ActiveDocument, True) 49 | 50 | If context.OutputActive Then 51 | _ribbon.AddMessage(context.StandardOutput) 52 | End If 53 | If Not String.IsNullOrEmpty(context.StatusBar) Then 54 | Globals.ThisAddIn.Application.StatusBar = context.StatusBar 55 | End If 56 | 57 | If String.IsNullOrEmpty(context.StandardError) Then 58 | Return 59 | End If 60 | 61 | MessageBox.Show(context.StandardError, 62 | TfCommand.My.Resources.Messages.MessageBoxTitle, 63 | MessageBoxButtons.OK, 64 | MessageBoxIcon.Exclamation) 65 | _ribbon.AddMessage(context.StandardError) 66 | End Sub 67 | 68 | ''' 69 | ''' 実行(閉じて開きなおす) 70 | ''' 71 | ''' 72 | ''' 73 | Public Sub ExecuteCloseOpen(method As ExecuteMethod) Implements IAction.ExecuteCloseOpen 74 | Dim context As New ActionContext(_document) 75 | 76 | Globals.ThisAddIn.Application.StatusBar = False 77 | 78 | ' 保存していないときは保存する? 79 | Dim rc As DialogResult 80 | If Not _document.Saved Then 81 | rc = MessageBox.Show(TfCommand.My.Resources.Messages.Q002, 82 | TfCommand.My.Resources.Messages.MessageBoxTitle, 83 | MessageBoxButtons.YesNoCancel, 84 | MessageBoxIcon.Question, 85 | MessageBoxDefaultButton.Button3) 86 | If rc = DialogResult.Cancel Then 87 | Return 88 | End If 89 | If rc = DialogResult.Yes Then 90 | _document.Save() 91 | End If 92 | End If 93 | 94 | ' ブックを閉じる 95 | _document.Close(False) 96 | 97 | Try 98 | ' コマンド実行 99 | method(context) 100 | Catch ex As Exception 101 | context.StandardError &= vbCrLf & ex.Message 102 | End Try 103 | 104 | If Not File.Exists(context.FullName) Then 105 | context.FullName = Globals.ThisAddIn.Application.GetOpenFilename() 106 | End If 107 | 108 | If File.Exists(context.FullName) Then 109 | ' ブックを開きなおす 110 | _document.Open(context.FullName) 111 | End If 112 | 113 | If context.OutputActive Then 114 | _ribbon.AddMessage(context.StandardOutput) 115 | End If 116 | If Not String.IsNullOrEmpty(context.StatusBar) Then 117 | Globals.ThisAddIn.Application.StatusBar = context.StatusBar 118 | End If 119 | 120 | If String.IsNullOrEmpty(context.StandardError) Then 121 | Return 122 | End If 123 | 124 | MessageBox.Show(context.StandardError, 125 | TfCommand.My.Resources.Messages.MessageBoxTitle, 126 | MessageBoxButtons.OK, 127 | MessageBoxIcon.Exclamation) 128 | _ribbon.AddMessage(context.StandardError) 129 | End Sub 130 | 131 | End Class 132 | -------------------------------------------------------------------------------- /PowerPointTFSAddIn/ThisAddIn.vb: -------------------------------------------------------------------------------- 1 | 2 | Imports Microsoft.Office.Interop.PowerPoint 3 | 4 | Public Class ThisAddIn 5 | Implements IDocument 6 | 7 | Private _action As IAction 8 | 9 | Private _open As Boolean 10 | 11 | #Region " Handles " 12 | 13 | #Region " ThisAddIn " 14 | 15 | Private Sub ThisAddIn_Startup() Handles Me.Startup 16 | Globals.Ribbons.TfsRibbon.Disable() 17 | _action = New Action(Globals.Ribbons.TfsRibbon, Me) 18 | End Sub 19 | 20 | Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown 21 | 22 | End Sub 23 | 24 | #End Region 25 | #Region " Application " 26 | 27 | Private Sub Application_WindowActivate(Pres As PowerPoint.Presentation, Wn As PowerPoint.DocumentWindow) Handles Application.WindowActivate 28 | Diagnostics.Debug.Print("Application_WindowActivate:{0}", Wn.Presentation.Name) 29 | If _open Then 30 | _open = False 31 | Return 32 | End If 33 | SetEnabled(Wn.Presentation, False) 34 | End Sub 35 | 36 | Private Sub Application_PresentationOpen(Pres As PowerPoint.Presentation) Handles Application.PresentationOpen 37 | TF.CreateOutputTaskPane(Pres) 38 | SetEnabled(Pres, True) 39 | _open = True 40 | End Sub 41 | 42 | Private Sub Application_PresentationSave(Pres As PowerPoint.Presentation) Handles Application.PresentationSave 43 | SetEnabled(Pres, True) 44 | End Sub 45 | 46 | Private Sub Application_PresentationClose(Pres As PowerPoint.Presentation) Handles Application.PresentationClose 47 | TF.CloseOutputTaskPane(Pres) 48 | Globals.Ribbons.TfsRibbon.RemoveEnables(Pres) 49 | End Sub 50 | 51 | #End Region 52 | 53 | #End Region 54 | 55 | #Region " Implements " 56 | 57 | Public ReadOnly Property Action As IAction Implements IDocument.Action 58 | Get 59 | Return _action 60 | End Get 61 | End Property 62 | 63 | Public Function ActiveDocument() As Object Implements IDocument.ActiveDocument 64 | Return Globals.ThisAddIn.Application.ActivePresentation 65 | End Function 66 | 67 | Public Sub Close(Optional saveChanges As Object = Nothing) Implements IDocument.Close 68 | Globals.ThisAddIn.Application.ActivePresentation.Close() 69 | End Sub 70 | 71 | Public Sub CompareSideBySideWith(name As String) Implements IDocument.CompareSideBySideWith 72 | Globals.ThisAddIn.Application.Windows.CompareSideBySideWith(name) 73 | Globals.ThisAddIn.Application.Windows.SyncScrollingSideBySide = True 74 | Globals.ThisAddIn.Application.Windows.Arrange(PowerPoint.PpArrangeStyle.ppArrangeTiled) 75 | End Sub 76 | 77 | Public ReadOnly Property FullName As String Implements IDocument.FullName 78 | Get 79 | Dim filename As String = TF.GetLocalPath(Globals.ThisAddIn.Application.ActivePresentation.FullName) 80 | Return filename 81 | End Get 82 | End Property 83 | 84 | Public ReadOnly Property Name As String Implements IDocument.Name 85 | Get 86 | Return Globals.ThisAddIn.Application.ActivePresentation.Name 87 | End Get 88 | End Property 89 | 90 | Public Sub Open(filename As String) Implements IDocument.Open 91 | Globals.ThisAddIn.Application.Presentations.Open(filename) 92 | End Sub 93 | 94 | Public Sub Save() Implements IDocument.Save 95 | Globals.ThisAddIn.Application.ActivePresentation.Save() 96 | End Sub 97 | 98 | Public Sub SaveAs(filename As String) Implements IDocument.SaveAs 99 | Globals.ThisAddIn.Application.ActivePresentation.SaveAs(filename) 100 | End Sub 101 | 102 | Public Property Saved As Boolean Implements IDocument.Saved 103 | Get 104 | Return Globals.ThisAddIn.Application.ActivePresentation.Saved 105 | End Get 106 | Set(value As Boolean) 107 | Globals.ThisAddIn.Application.ActivePresentation.Saved = value 108 | End Set 109 | End Property 110 | 111 | #End Region 112 | 113 | #Region " Method " 114 | 115 | Private Sub SetEnabled(Wb As PowerPoint.Presentation, ByVal force As Boolean) 116 | If Wb Is Nothing Then 117 | Return 118 | End If 119 | 120 | Globals.Ribbons.TfsRibbon.SetEnabled(Wb, force, True) 121 | End Sub 122 | 123 | Private Function TF() As TfExe 124 | If Globals.Ribbons.TfsRibbon.Tf Is Nothing Then 125 | Globals.Ribbons.TfsRibbon.Init() 126 | End If 127 | Return Globals.Ribbons.TfsRibbon.Tf 128 | End Function 129 | 130 | #End Region 131 | 132 | End Class 133 | -------------------------------------------------------------------------------- /WordTFSAddIn/Action.vb: -------------------------------------------------------------------------------- 1 | 2 | Imports System.IO 3 | Imports System.Diagnostics 4 | Imports System.Windows.Forms 5 | Imports Microsoft.Office.Tools.Ribbon 6 | Imports Microsoft.Win32 7 | Imports MiYABiS 8 | 9 | ''' 10 | ''' アクション 11 | ''' 12 | ''' 13 | Public Class Action 14 | Implements IAction 15 | 16 | Private _ribbon As TfsRibbon 17 | Private _document As IDocument 18 | 19 | ''' 20 | ''' コンストラクタ 21 | ''' 22 | ''' 23 | ''' 24 | ''' 25 | Public Sub New(ByVal ribbon As TfsRibbon, ByVal document As IDocument) 26 | _ribbon = ribbon 27 | _document = document 28 | End Sub 29 | 30 | ''' 31 | ''' 実行 32 | ''' 33 | ''' 34 | ''' 35 | Public Sub Execute(method As ExecuteMethod) Implements IAction.Execute 36 | Dim context As New ActionContext(_document) 37 | 38 | Globals.ThisAddIn.Application.StatusBar = String.Empty 39 | 40 | Try 41 | ' コマンド実行 42 | method(context) 43 | Catch ex As Exception 44 | context.StandardError &= vbCrLf & ex.Message 45 | End Try 46 | 47 | ' 状態チェック 48 | _ribbon.SetEnabled(_document.ActiveDocument, True) 49 | 50 | If context.OutputActive Then 51 | _ribbon.AddMessage(context.StandardOutput) 52 | End If 53 | If Not String.IsNullOrEmpty(context.StatusBar) Then 54 | Globals.ThisAddIn.Application.StatusBar = context.StatusBar 55 | End If 56 | 57 | If String.IsNullOrEmpty(context.StandardError) Then 58 | Return 59 | End If 60 | 61 | MessageBox.Show(context.StandardError, 62 | TfCommand.My.Resources.Messages.MessageBoxTitle, 63 | MessageBoxButtons.OK, 64 | MessageBoxIcon.Exclamation) 65 | _ribbon.AddMessage(context.StandardError) 66 | End Sub 67 | 68 | ''' 69 | ''' 実行(閉じて開きなおす) 70 | ''' 71 | ''' 72 | ''' 73 | Public Sub ExecuteCloseOpen(method As ExecuteMethod) Implements IAction.ExecuteCloseOpen 74 | Dim context As New ActionContext(_document) 75 | 76 | Globals.ThisAddIn.Application.StatusBar = String.Empty 77 | 78 | ' 保存していないときは保存する? 79 | Dim rc As DialogResult 80 | If Not _document.Saved Then 81 | rc = MessageBox.Show(TfCommand.My.Resources.Messages.Q002, 82 | TfCommand.My.Resources.Messages.MessageBoxTitle, 83 | MessageBoxButtons.YesNoCancel, 84 | MessageBoxIcon.Question, 85 | MessageBoxDefaultButton.Button3) 86 | If rc = DialogResult.Cancel Then 87 | Return 88 | End If 89 | If rc = DialogResult.Yes Then 90 | _document.Save() 91 | End If 92 | End If 93 | 94 | ' ブックを閉じる 95 | _document.Close(False) 96 | 97 | Try 98 | ' コマンド実行 99 | method(context) 100 | Catch ex As Exception 101 | context.StandardError &= vbCrLf & ex.Message 102 | End Try 103 | 104 | If Not File.Exists(context.FullName) Then 105 | Dim ofd As New OpenFileDialog() 106 | ofd.AddExtension = True 107 | ofd.DefaultExt = Path.GetExtension(context.Name) 108 | ofd.InitialDirectory = Path.GetDirectoryName(context.FullName) 109 | ofd.RestoreDirectory = True 110 | If ofd.ShowDialog() <> DialogResult.OK Then 111 | Return 112 | End If 113 | context.FullName = ofd.FileName 114 | End If 115 | 116 | If File.Exists(context.FullName) Then 117 | ' ブックを開きなおす 118 | _document.Open(context.FullName) 119 | ' 状態チェック 120 | _ribbon.SetEnabled(_document.ActiveDocument, True) 121 | End If 122 | 123 | If context.OutputActive Then 124 | _ribbon.AddMessage(context.StandardOutput) 125 | End If 126 | If Not String.IsNullOrEmpty(context.StatusBar) Then 127 | Globals.ThisAddIn.Application.StatusBar = context.StatusBar 128 | End If 129 | 130 | If String.IsNullOrEmpty(context.StandardError) Then 131 | Return 132 | End If 133 | 134 | MessageBox.Show(context.StandardError, 135 | TfCommand.My.Resources.Messages.MessageBoxTitle, 136 | MessageBoxButtons.OK, 137 | MessageBoxIcon.Exclamation) 138 | _ribbon.AddMessage(context.StandardError) 139 | End Sub 140 | 141 | End Class 142 | -------------------------------------------------------------------------------- /ProjectTFSAddIn/Action.vb: -------------------------------------------------------------------------------- 1 | 2 | Imports System.IO 3 | Imports System.Diagnostics 4 | Imports System.Windows.Forms 5 | Imports Microsoft.Office.Tools.Ribbon 6 | Imports Microsoft.Win32 7 | Imports MiYABiS 8 | 9 | ''' 10 | ''' アクション 11 | ''' 12 | ''' 13 | Public Class Action 14 | Implements IAction 15 | 16 | Private _ribbon As TfsRibbon 17 | Private _document As IDocument 18 | 19 | ''' 20 | ''' コンストラクタ 21 | ''' 22 | ''' 23 | ''' 24 | ''' 25 | Public Sub New(ByVal ribbon As TfsRibbon, ByVal document As IDocument) 26 | _ribbon = ribbon 27 | _document = document 28 | End Sub 29 | 30 | ''' 31 | ''' 実行 32 | ''' 33 | ''' 34 | ''' 35 | Public Sub Execute(method As ExecuteMethod) Implements IAction.Execute 36 | Dim context As New ActionContext(_document) 37 | 38 | Globals.ThisAddIn.Application.StatusBar = String.Empty 39 | 40 | Try 41 | ' コマンド実行 42 | method(context) 43 | Catch ex As Exception 44 | context.StandardError &= vbCrLf & ex.Message 45 | End Try 46 | 47 | ' 状態チェック 48 | _ribbon.SetEnabled(_document.ActiveDocument, True) 49 | 50 | If context.OutputActive Then 51 | _ribbon.AddMessage(context.StandardOutput) 52 | End If 53 | If Not String.IsNullOrEmpty(context.StatusBar) Then 54 | Globals.ThisAddIn.Application.StatusBar = context.StatusBar 55 | End If 56 | 57 | If String.IsNullOrEmpty(context.StandardError) Then 58 | Return 59 | End If 60 | 61 | MessageBox.Show(context.StandardError, 62 | TfCommand.My.Resources.Messages.MessageBoxTitle, 63 | MessageBoxButtons.OK, 64 | MessageBoxIcon.Exclamation) 65 | _ribbon.AddMessage(context.StandardError) 66 | End Sub 67 | 68 | ''' 69 | ''' 実行(閉じて開きなおす) 70 | ''' 71 | ''' 72 | ''' 73 | Public Sub ExecuteCloseOpen(method As ExecuteMethod) Implements IAction.ExecuteCloseOpen 74 | Dim context As New ActionContext(_document) 75 | 76 | Globals.ThisAddIn.Application.StatusBar = String.Empty 77 | 78 | ' 保存していないときは保存する? 79 | Dim rc As DialogResult 80 | If Not _document.Saved Then 81 | rc = MessageBox.Show(TfCommand.My.Resources.Messages.Q002, 82 | TfCommand.My.Resources.Messages.MessageBoxTitle, 83 | MessageBoxButtons.YesNoCancel, 84 | MessageBoxIcon.Question, 85 | MessageBoxDefaultButton.Button3) 86 | If rc = DialogResult.Cancel Then 87 | Return 88 | End If 89 | If rc = DialogResult.Yes Then 90 | _document.Save() 91 | End If 92 | End If 93 | 94 | ' ブックを閉じる 95 | _document.Close(False) 96 | 97 | Try 98 | ' コマンド実行 99 | method(context) 100 | Catch ex As Exception 101 | context.StandardError &= vbCrLf & ex.Message 102 | End Try 103 | 104 | If Not File.Exists(context.FullName) Then 105 | Dim ofd As New OpenFileDialog() 106 | ofd.AddExtension = True 107 | ofd.DefaultExt = Path.GetExtension(context.Name) 108 | ofd.InitialDirectory = Path.GetDirectoryName(context.FullName) 109 | ofd.RestoreDirectory = True 110 | If ofd.ShowDialog() <> DialogResult.OK Then 111 | Return 112 | End If 113 | context.FullName = ofd.FileName 114 | End If 115 | 116 | If File.Exists(context.FullName) Then 117 | ' ブックを開きなおす 118 | _document.Open(context.FullName) 119 | '' 状態チェック 120 | '_ribbon.SetEnabled(_document.ActiveDocument, True) 121 | End If 122 | 123 | If context.OutputActive Then 124 | _ribbon.AddMessage(context.StandardOutput) 125 | End If 126 | If Not String.IsNullOrEmpty(context.StatusBar) Then 127 | Globals.ThisAddIn.Application.StatusBar = context.StatusBar 128 | End If 129 | 130 | If String.IsNullOrEmpty(context.StandardError) Then 131 | Return 132 | End If 133 | 134 | MessageBox.Show(context.StandardError, 135 | TfCommand.My.Resources.Messages.MessageBoxTitle, 136 | MessageBoxButtons.OK, 137 | MessageBoxIcon.Exclamation) 138 | _ribbon.AddMessage(context.StandardError) 139 | End Sub 140 | 141 | End Class 142 | -------------------------------------------------------------------------------- /PowerPointTFSAddIn/Action.vb: -------------------------------------------------------------------------------- 1 | 2 | Imports System.IO 3 | Imports System.Diagnostics 4 | Imports System.Windows.Forms 5 | Imports Microsoft.Office.Tools.Ribbon 6 | Imports Microsoft.Win32 7 | Imports MiYABiS 8 | 9 | ''' 10 | ''' アクション 11 | ''' 12 | ''' 13 | Public Class Action 14 | Implements IAction 15 | 16 | Private _ribbon As TfsRibbon 17 | Private _document As IDocument 18 | 19 | ''' 20 | ''' コンストラクタ 21 | ''' 22 | ''' 23 | ''' 24 | ''' 25 | Public Sub New(ByVal ribbon As TfsRibbon, ByVal document As IDocument) 26 | _ribbon = ribbon 27 | _document = document 28 | End Sub 29 | 30 | ''' 31 | ''' 実行 32 | ''' 33 | ''' 34 | ''' 35 | Public Sub Execute(method As ExecuteMethod) Implements IAction.Execute 36 | Dim context As New ActionContext(_document) 37 | 38 | Try 39 | ' コマンド実行 40 | method(context) 41 | Catch ex As Exception 42 | context.StandardError &= vbCrLf & ex.Message 43 | End Try 44 | 45 | ' 状態チェック 46 | _ribbon.SetEnabled(_document.ActiveDocument, True) 47 | 48 | If context.OutputActive Then 49 | _ribbon.AddMessage(context.StandardOutput) 50 | End If 51 | If Not String.IsNullOrEmpty(context.StatusBar) Then 52 | MessageBox.Show(context.StatusBar, 53 | TfCommand.My.Resources.Messages.MessageBoxTitle, 54 | MessageBoxButtons.OK, 55 | MessageBoxIcon.Exclamation) 56 | End If 57 | 58 | If String.IsNullOrEmpty(context.StandardError) Then 59 | Return 60 | End If 61 | 62 | MessageBox.Show(context.StandardError, 63 | TfCommand.My.Resources.Messages.MessageBoxTitle, 64 | MessageBoxButtons.OK, 65 | MessageBoxIcon.Exclamation) 66 | _ribbon.AddMessage(context.StandardError) 67 | End Sub 68 | 69 | ''' 70 | ''' 実行(閉じて開きなおす) 71 | ''' 72 | ''' 73 | ''' 74 | Public Sub ExecuteCloseOpen(method As ExecuteMethod) Implements IAction.ExecuteCloseOpen 75 | Dim context As New ActionContext(_document) 76 | 77 | ' 保存していないときは保存する? 78 | Dim rc As DialogResult 79 | If Not _document.Saved Then 80 | rc = MessageBox.Show(TfCommand.My.Resources.Messages.Q002, 81 | TfCommand.My.Resources.Messages.MessageBoxTitle, 82 | MessageBoxButtons.YesNoCancel, 83 | MessageBoxIcon.Question, 84 | MessageBoxDefaultButton.Button3) 85 | If rc = DialogResult.Cancel Then 86 | Return 87 | End If 88 | If rc = DialogResult.Yes Then 89 | _document.Save() 90 | End If 91 | End If 92 | 93 | ' ブックを閉じる 94 | _document.Close(False) 95 | 96 | Try 97 | ' コマンド実行 98 | method(context) 99 | Catch ex As Exception 100 | context.StandardError &= vbCrLf & ex.Message 101 | End Try 102 | 103 | If Not File.Exists(context.FullName) Then 104 | Dim ofd As New OpenFileDialog() 105 | ofd.AddExtension = True 106 | ofd.DefaultExt = Path.GetExtension(context.Name) 107 | ofd.InitialDirectory = Path.GetDirectoryName(context.FullName) 108 | ofd.RestoreDirectory = True 109 | If ofd.ShowDialog() <> DialogResult.OK Then 110 | Return 111 | End If 112 | context.FullName = ofd.FileName 113 | End If 114 | 115 | If File.Exists(context.FullName) Then 116 | ' ブックを開きなおす 117 | _document.Open(context.FullName) 118 | End If 119 | 120 | If context.OutputActive Then 121 | _ribbon.AddMessage(context.StandardOutput) 122 | End If 123 | If Not String.IsNullOrEmpty(context.StatusBar) Then 124 | MessageBox.Show(context.StatusBar, 125 | TfCommand.My.Resources.Messages.MessageBoxTitle, 126 | MessageBoxButtons.OK, 127 | MessageBoxIcon.Exclamation) 128 | End If 129 | 130 | If String.IsNullOrEmpty(context.StandardError) Then 131 | Return 132 | End If 133 | 134 | MessageBox.Show(context.StandardError, 135 | TfCommand.My.Resources.Messages.MessageBoxTitle, 136 | MessageBoxButtons.OK, 137 | MessageBoxIcon.Exclamation) 138 | _ribbon.AddMessage(context.StandardError) 139 | End Sub 140 | 141 | End Class 142 | -------------------------------------------------------------------------------- /ExcelTFSAddIn/ThisAddIn.vb: -------------------------------------------------------------------------------- 1 | 2 | Public Class ThisAddIn 3 | Implements IDocument 4 | 5 | Private _action As IAction 6 | 7 | Private _open As Boolean 8 | 9 | #Region " Handles " 10 | 11 | #Region " ThisAddIn " 12 | 13 | Private Sub ThisAddIn_Startup() Handles Me.Startup 14 | Try 15 | Globals.Ribbons.TfsRibbon.Disable() 16 | _action = New Action(Globals.Ribbons.TfsRibbon, Me) 17 | Catch ex As Exception 18 | System.Windows.Forms.MessageBox.Show(ex.Message) 19 | End Try 20 | End Sub 21 | 22 | Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown 23 | 24 | End Sub 25 | 26 | #End Region 27 | #Region " Application " 28 | 29 | Private Sub Application_WindowActivate(Wb As Microsoft.Office.Interop.Excel.Workbook, Wn As Microsoft.Office.Interop.Excel.Window) Handles Application.WindowActivate 30 | Try 31 | If _open Then 32 | _open = False 33 | Return 34 | End If 35 | SetEnabled(Wb, False) 36 | Catch ex As Exception 37 | System.Windows.Forms.MessageBox.Show(ex.Message) 38 | End Try 39 | End Sub 40 | 41 | Private Sub Application_WorkbookOpen(Wb As Microsoft.Office.Interop.Excel.Workbook) Handles Application.WorkbookOpen 42 | Try 43 | TF.CreateOutputTaskPane(Wb) 44 | SetEnabled(Wb, True) 45 | _open = True 46 | Catch ex As Exception 47 | System.Windows.Forms.MessageBox.Show(ex.Message) 48 | End Try 49 | End Sub 50 | 51 | Private Sub Application_WorkbookAfterSave(Wb As Microsoft.Office.Interop.Excel.Workbook, Success As Boolean) Handles Application.WorkbookAfterSave 52 | Try 53 | SetEnabled(Wb, True) 54 | Catch ex As Exception 55 | System.Windows.Forms.MessageBox.Show(ex.Message) 56 | End Try 57 | End Sub 58 | 59 | Private Sub Application_WorkbookBeforeClose(Wb As Microsoft.Office.Interop.Excel.Workbook, ByRef Cancel As Boolean) Handles Application.WorkbookBeforeClose 60 | Try 61 | TF.CloseOutputTaskPane(Wb) 62 | Globals.Ribbons.TfsRibbon.RemoveEnables(Wb) 63 | Catch ex As Exception 64 | System.Windows.Forms.MessageBox.Show(ex.Message) 65 | End Try 66 | End Sub 67 | 68 | #End Region 69 | 70 | #End Region 71 | 72 | #Region " Implements " 73 | 74 | Public Function ActiveDocument() As Object Implements IDocument.ActiveDocument 75 | Return Globals.ThisAddIn.Application.ActiveWorkbook 76 | End Function 77 | 78 | Public ReadOnly Property Action As IAction Implements IDocument.Action 79 | Get 80 | Return _action 81 | End Get 82 | End Property 83 | 84 | Public Sub Close(Optional saveChanges As Object = Nothing) Implements IDocument.Close 85 | Globals.ThisAddIn.Application.ActiveWorkbook.Close(saveChanges) 86 | End Sub 87 | 88 | Public ReadOnly Property FullName As String Implements IDocument.FullName 89 | Get 90 | Dim filename As String = TF.GetLocalPath(Globals.ThisAddIn.Application.ActiveWorkbook.FullName) 91 | Return filename 92 | End Get 93 | End Property 94 | 95 | Public ReadOnly Property Name As String Implements IDocument.Name 96 | Get 97 | Return Globals.ThisAddIn.Application.ActiveWorkbook.Name 98 | End Get 99 | End Property 100 | 101 | Public Sub Open(filename As String) Implements IDocument.Open 102 | Globals.ThisAddIn.Application.Workbooks.Open(filename) 103 | End Sub 104 | 105 | Public Property Saved As Boolean Implements IDocument.Saved 106 | Get 107 | Return Globals.ThisAddIn.Application.ActiveWorkbook.Saved 108 | End Get 109 | Set(value As Boolean) 110 | Globals.ThisAddIn.Application.ActiveWorkbook.Saved = value 111 | End Set 112 | End Property 113 | 114 | Public Sub Save() Implements IDocument.Save 115 | Globals.ThisAddIn.Application.ActiveWorkbook.Save() 116 | End Sub 117 | 118 | Public Sub SaveAs(filename As String) Implements IDocument.SaveAs 119 | Globals.ThisAddIn.Application.ActiveWorkbook.SaveAs(filename) 120 | End Sub 121 | 122 | Public Sub CompareSideBySideWith(name As String) Implements IDocument.CompareSideBySideWith 123 | Globals.ThisAddIn.Application.Windows.CompareSideBySideWith(name) 124 | Globals.ThisAddIn.Application.Windows.SyncScrollingSideBySide = True 125 | Globals.ThisAddIn.Application.Windows.Arrange(Excel.XlArrangeStyle.xlArrangeStyleVertical) 126 | End Sub 127 | 128 | #End Region 129 | 130 | #Region " Method " 131 | 132 | Private Sub SetEnabled(Wb As Microsoft.Office.Interop.Excel.Workbook, ByVal force As Boolean) 133 | If Wb Is Nothing Then 134 | Return 135 | End If 136 | 137 | Globals.Ribbons.TfsRibbon.SetEnabled(Wb, force, True) 138 | End Sub 139 | 140 | Private Function TF() As TfExe 141 | If Globals.Ribbons.TfsRibbon.Tf Is Nothing Then 142 | Globals.Ribbons.TfsRibbon.Init() 143 | End If 144 | Return Globals.Ribbons.TfsRibbon.Tf 145 | End Function 146 | 147 | #End Region 148 | 149 | End Class 150 | 151 | -------------------------------------------------------------------------------- /TortoiseProcCommand/TortoiseProcCommand.vbproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {695A68A7-DF8A-40AD-8152-989B5DB84821} 8 | Library 9 | MiYABiS.TortoiseProcCommand 10 | TortoiseProcCommand 11 | 512 12 | Windows 13 | v4.7.2 14 | SAK 15 | SAK 16 | SAK 17 | SAK 18 | 19 | 20 | 21 | true 22 | full 23 | true 24 | true 25 | bin\Debug\ 26 | TortoiseProcCommand.xml 27 | 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 28 | false 29 | 30 | 31 | pdbonly 32 | false 33 | true 34 | true 35 | bin\Release\ 36 | TortoiseProcCommand.xml 37 | 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 38 | false 39 | 40 | 41 | On 42 | 43 | 44 | Binary 45 | 46 | 47 | Off 48 | 49 | 50 | On 51 | 52 | 53 | true 54 | 55 | 56 | Key.snk 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | True 81 | Application.myapp 82 | True 83 | 84 | 85 | True 86 | True 87 | Resources.resx 88 | 89 | 90 | True 91 | Settings.settings 92 | True 93 | 94 | 95 | 96 | 97 | VbMyResourcesResXFileCodeGenerator 98 | Resources.Designer.vb 99 | My.Resources 100 | Designer 101 | 102 | 103 | 104 | 105 | 106 | MyApplicationCodeGenerator 107 | Application.Designer.vb 108 | 109 | 110 | SettingsSingleFileGenerator 111 | My 112 | Settings.Designer.vb 113 | 114 | 115 | 116 | 123 | -------------------------------------------------------------------------------- /VisioTFSAddIn/Action.vb: -------------------------------------------------------------------------------- 1 | 2 | Imports System.IO 3 | Imports System.Diagnostics 4 | Imports System.Windows.Forms 5 | Imports Microsoft.Office.Tools.Ribbon 6 | Imports Microsoft.Win32 7 | Imports MiYABiS 8 | 9 | ''' 10 | ''' アクション 11 | ''' 12 | ''' 13 | Public Class Action 14 | Implements IAction 15 | 16 | Private _ribbon As TfsRibbon 17 | Private _document As IDocument 18 | 19 | ''' 20 | ''' コンストラクタ 21 | ''' 22 | ''' 23 | ''' 24 | ''' 25 | Public Sub New(ByVal ribbon As TfsRibbon, ByVal document As IDocument) 26 | _ribbon = ribbon 27 | _document = document 28 | End Sub 29 | 30 | ''' 31 | ''' 実行 32 | ''' 33 | ''' 34 | ''' 35 | Public Sub Execute(method As ExecuteMethod) Implements IAction.Execute 36 | Dim context As New ActionContext(_document) 37 | 38 | Try 39 | ' コマンド実行 40 | method(context) 41 | Catch ex As Exception 42 | context.StandardError &= vbCrLf & ex.Message 43 | End Try 44 | 45 | ' 状態チェック 46 | _ribbon.SetEnabled(_document.ActiveDocument, True) 47 | 48 | If context.OutputActive Then 49 | _ribbon.AddMessage(context.StandardOutput) 50 | End If 51 | If Not String.IsNullOrEmpty(context.StatusBar) Then 52 | If Globals.ThisAddIn.Application.ShowStatusBar < 0 Then 53 | MessageBox.Show(context.StatusBar, 54 | TfCommand.My.Resources.Messages.MessageBoxTitle, 55 | MessageBoxButtons.OK, 56 | MessageBoxIcon.Exclamation) 57 | Else 58 | Globals.ThisAddIn.Application.StatusBar = context.StatusBar 59 | End If 60 | End If 61 | 62 | If String.IsNullOrEmpty(context.StandardError) Then 63 | Return 64 | End If 65 | 66 | MessageBox.Show(context.StandardError, 67 | TfCommand.My.Resources.Messages.MessageBoxTitle, 68 | MessageBoxButtons.OK, 69 | MessageBoxIcon.Exclamation) 70 | _ribbon.AddMessage(context.StandardError) 71 | End Sub 72 | 73 | ''' 74 | ''' 実行(閉じて開きなおす) 75 | ''' 76 | ''' 77 | ''' 78 | Public Sub ExecuteCloseOpen(method As ExecuteMethod) Implements IAction.ExecuteCloseOpen 79 | Dim context As New ActionContext(_document) 80 | 81 | ' 保存していないときは保存する? 82 | Dim rc As DialogResult 83 | If Not _document.Saved Then 84 | rc = MessageBox.Show(TfCommand.My.Resources.Messages.Q002, 85 | TfCommand.My.Resources.Messages.MessageBoxTitle, 86 | MessageBoxButtons.YesNoCancel, 87 | MessageBoxIcon.Question, 88 | MessageBoxDefaultButton.Button3) 89 | If rc = DialogResult.Cancel Then 90 | Return 91 | End If 92 | If rc = DialogResult.Yes Then 93 | _document.Save() 94 | End If 95 | End If 96 | 97 | ' ブックを閉じる 98 | _document.Close(False) 99 | 100 | Try 101 | ' コマンド実行 102 | method(context) 103 | Catch ex As Exception 104 | context.StandardError &= vbCrLf & ex.Message 105 | End Try 106 | 107 | If Not File.Exists(context.FullName) Then 108 | Dim ofd As New OpenFileDialog() 109 | ofd.AddExtension = True 110 | ofd.DefaultExt = Path.GetExtension(context.Name) 111 | ofd.InitialDirectory = Path.GetDirectoryName(context.FullName) 112 | ofd.RestoreDirectory = True 113 | If ofd.ShowDialog() <> DialogResult.OK Then 114 | Return 115 | End If 116 | context.FullName = ofd.FileName 117 | End If 118 | 119 | If File.Exists(context.FullName) Then 120 | ' ブックを開きなおす 121 | _document.Open(context.FullName) 122 | '' 状態チェック 123 | '_ribbon.SetEnabled(_document.ActiveDocument, True) 124 | End If 125 | 126 | If context.OutputActive Then 127 | _ribbon.AddMessage(context.StandardOutput) 128 | End If 129 | If Not String.IsNullOrEmpty(context.StatusBar) Then 130 | If Globals.ThisAddIn.Application.ShowStatusBar < 0 Then 131 | MessageBox.Show(context.StatusBar, 132 | TfCommand.My.Resources.Messages.MessageBoxTitle, 133 | MessageBoxButtons.OK, 134 | MessageBoxIcon.Exclamation) 135 | Else 136 | Globals.ThisAddIn.Application.StatusBar = context.StatusBar 137 | End If 138 | End If 139 | 140 | If String.IsNullOrEmpty(context.StandardError) Then 141 | Return 142 | End If 143 | 144 | MessageBox.Show(context.StandardError, 145 | TfCommand.My.Resources.Messages.MessageBoxTitle, 146 | MessageBoxButtons.OK, 147 | MessageBoxIcon.Exclamation) 148 | _ribbon.AddMessage(context.StandardError) 149 | End Sub 150 | 151 | End Class 152 | -------------------------------------------------------------------------------- /ExcelTFSAddIn/My Project/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /ProjectTFSAddIn/My Project/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /VisioTFSAddIn/My Project/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /WordTFSAddIn/My Project/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /PowerPointTFSAddIn/My Project/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /TortoiseProcCommand/My Project/Resources.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /TfCommand/OutputTaskPaneControl.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.suo 8 | *.user 9 | *.userosscache 10 | *.sln.docstates 11 | 12 | # User-specific files (MonoDevelop/Xamarin Studio) 13 | *.userprefs 14 | 15 | # Build results 16 | [Dd]ebug/ 17 | [Dd]ebugPublic/ 18 | [Rr]elease/ 19 | [Rr]eleases/ 20 | x64/ 21 | x86/ 22 | bld/ 23 | [Bb]in/ 24 | [Oo]bj/ 25 | [Ll]og/ 26 | 27 | # Visual Studio 2015 cache/options directory 28 | .vs/ 29 | # Uncomment if you have tasks that create the project's static files in wwwroot 30 | #wwwroot/ 31 | 32 | # MSTest test Results 33 | [Tt]est[Rr]esult*/ 34 | [Bb]uild[Ll]og.* 35 | 36 | # NUNIT 37 | *.VisualState.xml 38 | TestResult.xml 39 | 40 | # Build Results of an ATL Project 41 | [Dd]ebugPS/ 42 | [Rr]eleasePS/ 43 | dlldata.c 44 | 45 | # .NET Core 46 | project.lock.json 47 | project.fragment.lock.json 48 | artifacts/ 49 | **/Properties/launchSettings.json 50 | 51 | *_i.c 52 | *_p.c 53 | *_i.h 54 | *.ilk 55 | *.meta 56 | *.obj 57 | *.pch 58 | *.pdb 59 | *.pgc 60 | *.pgd 61 | *.rsp 62 | *.sbr 63 | *.tlb 64 | *.tli 65 | *.tlh 66 | *.tmp 67 | *.tmp_proj 68 | *.log 69 | *.vspscc 70 | *.vssscc 71 | .builds 72 | *.pidb 73 | *.svclog 74 | *.scc 75 | 76 | # Chutzpah Test files 77 | _Chutzpah* 78 | 79 | # Visual C++ cache files 80 | ipch/ 81 | *.aps 82 | *.ncb 83 | *.opendb 84 | *.opensdf 85 | *.sdf 86 | *.cachefile 87 | *.VC.db 88 | *.VC.VC.opendb 89 | 90 | # Visual Studio profiler 91 | *.psess 92 | *.vsp 93 | *.vspx 94 | *.sap 95 | 96 | # TFS 2012 Local Workspace 97 | $tf/ 98 | 99 | # Guidance Automation Toolkit 100 | *.gpState 101 | 102 | # ReSharper is a .NET coding add-in 103 | _ReSharper*/ 104 | *.[Rr]e[Ss]harper 105 | *.DotSettings.user 106 | 107 | # JustCode is a .NET coding add-in 108 | .JustCode 109 | 110 | # TeamCity is a build add-in 111 | _TeamCity* 112 | 113 | # DotCover is a Code Coverage Tool 114 | *.dotCover 115 | 116 | # Visual Studio code coverage results 117 | *.coverage 118 | *.coveragexml 119 | 120 | # NCrunch 121 | _NCrunch_* 122 | .*crunch*.local.xml 123 | nCrunchTemp_* 124 | 125 | # MightyMoose 126 | *.mm.* 127 | AutoTest.Net/ 128 | 129 | # Web workbench (sass) 130 | .sass-cache/ 131 | 132 | # Installshield output folder 133 | [Ee]xpress/ 134 | 135 | # DocProject is a documentation generator add-in 136 | DocProject/buildhelp/ 137 | DocProject/Help/*.HxT 138 | DocProject/Help/*.HxC 139 | DocProject/Help/*.hhc 140 | DocProject/Help/*.hhk 141 | DocProject/Help/*.hhp 142 | DocProject/Help/Html2 143 | DocProject/Help/html 144 | 145 | # Click-Once directory 146 | publish/ 147 | 148 | # Publish Web Output 149 | *.[Pp]ublish.xml 150 | *.azurePubxml 151 | # TODO: Comment the next line if you want to checkin your web deploy settings 152 | # but database connection strings (with potential passwords) will be unencrypted 153 | *.pubxml 154 | *.publishproj 155 | 156 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 157 | # checkin your Azure Web App publish settings, but sensitive information contained 158 | # in these scripts will be unencrypted 159 | PublishScripts/ 160 | 161 | # NuGet Packages 162 | *.nupkg 163 | # The packages folder can be ignored because of Package Restore 164 | **/packages/* 165 | # except build/, which is used as an MSBuild target. 166 | !**/packages/build/ 167 | # Uncomment if necessary however generally it will be regenerated when needed 168 | #!**/packages/repositories.config 169 | # NuGet v3's project.json files produces more ignorable files 170 | *.nuget.props 171 | *.nuget.targets 172 | 173 | # Microsoft Azure Build Output 174 | csx/ 175 | *.build.csdef 176 | 177 | # Microsoft Azure Emulator 178 | ecf/ 179 | rcf/ 180 | 181 | # Windows Store app package directories and files 182 | AppPackages/ 183 | BundleArtifacts/ 184 | Package.StoreAssociation.xml 185 | _pkginfo.txt 186 | 187 | # Visual Studio cache files 188 | # files ending in .cache can be ignored 189 | *.[Cc]ache 190 | # but keep track of directories ending in .cache 191 | !*.[Cc]ache/ 192 | 193 | # Others 194 | ClientBin/ 195 | ~$* 196 | *~ 197 | *.dbmdl 198 | *.dbproj.schemaview 199 | *.jfm 200 | *.pfx 201 | *.publishsettings 202 | orleans.codegen.cs 203 | 204 | # Since there are multiple workflows, uncomment next line to ignore bower_components 205 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 206 | #bower_components/ 207 | 208 | # RIA/Silverlight projects 209 | Generated_Code/ 210 | 211 | # Backup & report files from converting an old project file 212 | # to a newer Visual Studio version. Backup files are not needed, 213 | # because we have git ;-) 214 | _UpgradeReport_Files/ 215 | Backup*/ 216 | UpgradeLog*.XML 217 | UpgradeLog*.htm 218 | 219 | # SQL Server files 220 | *.mdf 221 | *.ldf 222 | *.ndf 223 | 224 | # Business Intelligence projects 225 | *.rdl.data 226 | *.bim.layout 227 | *.bim_*.settings 228 | 229 | # Microsoft Fakes 230 | FakesAssemblies/ 231 | 232 | # GhostDoc plugin setting file 233 | *.GhostDoc.xml 234 | 235 | # Node.js Tools for Visual Studio 236 | .ntvs_analysis.dat 237 | node_modules/ 238 | 239 | # Typescript v1 declaration files 240 | typings/ 241 | 242 | # Visual Studio 6 build log 243 | *.plg 244 | 245 | # Visual Studio 6 workspace options file 246 | *.opt 247 | 248 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 249 | *.vbw 250 | 251 | # Visual Studio LightSwitch build output 252 | **/*.HTMLClient/GeneratedArtifacts 253 | **/*.DesktopClient/GeneratedArtifacts 254 | **/*.DesktopClient/ModelManifest.xml 255 | **/*.Server/GeneratedArtifacts 256 | **/*.Server/ModelManifest.xml 257 | _Pvt_Extensions 258 | 259 | # Paket dependency manager 260 | .paket/paket.exe 261 | paket-files/ 262 | 263 | # FAKE - F# Make 264 | .fake/ 265 | 266 | # JetBrains Rider 267 | .idea/ 268 | *.sln.iml 269 | 270 | # CodeRush 271 | .cr/ 272 | 273 | # Python Tools for Visual Studio (PTVS) 274 | __pycache__/ 275 | *.pyc 276 | 277 | # Cake - Uncomment if you are using it 278 | # tools/** 279 | # !tools/packages.config 280 | 281 | # Telerik's JustMock configuration file 282 | *.jmconfig 283 | 284 | # BizTalk build output 285 | *.btp.cs 286 | *.btm.cs 287 | *.odx.cs 288 | *.xsd.cs 289 | -------------------------------------------------------------------------------- /Build2010.proj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | . 8 | $(ProjLocation)\ExcelTFSAddIn\bin\Release\app.publish 9 | $(ProjLocation)\PowerPointTFSAddIn\bin\Release\app.publish 10 | $(ProjLocation)\ProjectTFSAddIn\bin\Release\app.publish 11 | $(ProjLocation)\VisioTFSAddIn\bin\Release\app.publish 12 | $(ProjLocation)\WordTFSAddIn\bin\Release\app.publish 13 | $(ProjLocation)\SetupProject\bin\Release 14 | $(ProjLocation)\Publish\ 15 | 1.3.0.0 16 | 1.3.0.0 17 | 1.3.0.0 18 | 1.3.0.0 19 | 1.3.0.0 20 | 21 | 22 | 23 | 24 | 25 | 27 | 29 | 31 | 33 | 35 | 37 | 38 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 58 | 62 | 63 | 64 | 65 | 66 | 70 | 71 | 75 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /WordTFSAddIn/ThisAddIn.vb: -------------------------------------------------------------------------------- 1 | 2 | Imports System.Threading 3 | 4 | Public Class ThisAddIn 5 | Implements IDocument 6 | 7 | Private _action As IAction 8 | 9 | Private Event DocumentAfterSave(ByVal Doc As Word.Document) 10 | Private Delegate Sub _saveCheckDelegate() 11 | Private _saveCheck As _saveCheckDelegate 12 | Private _saveDone As AsyncCallback 13 | Private _queueDocs As New System.Collections.Queue 14 | 15 | Private _open As Boolean 16 | 17 | #Region " Handles " 18 | 19 | #Region " ThisAddIn " 20 | 21 | Private Sub ThisAddIn_Startup() Handles Me.Startup 22 | Globals.Ribbons.TfsRibbon.Disable() 23 | _action = New Action(Globals.Ribbons.TfsRibbon, Me) 24 | 25 | _saveCheck = New _saveCheckDelegate(AddressOf _afterSave) 26 | _saveDone = New System.AsyncCallback(AddressOf _afterSaveDone) 27 | _saveCheck.BeginInvoke(_saveDone, _saveCheck) 28 | End Sub 29 | 30 | Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown 31 | End Sub 32 | 33 | #End Region 34 | #Region " Application " 35 | 36 | Private Sub Application_DocumentChange() Handles Application.DocumentChange 37 | If _open Then 38 | _open = False 39 | Return 40 | End If 41 | SetEnabled(Me.ActiveDocument, False) 42 | _open = True 43 | End Sub 44 | 45 | Private Sub Application_WindowActivate(Doc As Microsoft.Office.Interop.Word.Document, Wn As Microsoft.Office.Interop.Word.Window) Handles Application.WindowActivate 46 | If _open Then 47 | _open = False 48 | Return 49 | End If 50 | TF.CreateOutputTaskPane(Doc) 51 | SetEnabled(Doc, False) 52 | _open = True 53 | End Sub 54 | 55 | Private Sub Application_DocumentOpen(Doc As Microsoft.Office.Interop.Word.Document) Handles Application.DocumentOpen 56 | TF.CreateOutputTaskPane(Doc) 57 | SetEnabled(Doc, True) 58 | _open = True 59 | End Sub 60 | 61 | Private Sub Application_DocumentBeforeClose(Doc As Microsoft.Office.Interop.Word.Document, ByRef Cancel As Boolean) Handles Application.DocumentBeforeClose 62 | TF.CloseOutputTaskPane(Doc) 63 | Globals.Ribbons.TfsRibbon.RemoveEnables(Doc) 64 | End Sub 65 | 66 | Private Sub ThisAddIn_DocumentAfterSave(Doc As Microsoft.Office.Interop.Word.Document) Handles Me.DocumentAfterSave 67 | SetEnabled(Doc, True) 68 | End Sub 69 | 70 | Private Sub Application_DocumentBeforeSave(Doc As Microsoft.Office.Interop.Word.Document, ByRef SaveAsUI As Boolean, ByRef Cancel As Boolean) Handles Application.DocumentBeforeSave 71 | SyncLock Me._queueDocs 72 | If Not _queueDocs.Contains(Doc) Then 73 | _queueDocs.Enqueue(Doc) 74 | End If 75 | End SyncLock 76 | End Sub 77 | 78 | Private Sub _afterSave() 79 | If Me._queueDocs.Count <= 0 Then 80 | Thread.Sleep(500) 81 | Return 82 | End If 83 | SyncLock Me._queueDocs 84 | Try 85 | Dim curDoc As Word.Document = _queueDocs.Peek 86 | If curDoc.Saved Then 87 | RaiseEvent DocumentAfterSave(_queueDocs.Dequeue) 88 | End If 89 | curDoc = Nothing 90 | Catch ex As Exception 91 | _saveCheck.BeginInvoke(_saveDone, _saveCheck) 92 | End Try 93 | End SyncLock 94 | End Sub 95 | Private Sub _afterSaveDone(ByVal ar As System.IAsyncResult) 96 | _saveCheck.BeginInvoke(_saveDone, _saveCheck) 97 | End Sub 98 | 99 | #End Region 100 | 101 | #End Region 102 | 103 | #Region " Implements " 104 | 105 | Public ReadOnly Property Action As IAction Implements IDocument.Action 106 | Get 107 | Return _action 108 | End Get 109 | End Property 110 | 111 | Public Function ActiveDocument() As Object Implements IDocument.ActiveDocument 112 | Try 113 | Return Globals.ThisAddIn.Application.ActiveDocument 114 | Catch ex As Exception 115 | Return Nothing 116 | End Try 117 | End Function 118 | 119 | Public Sub Close(Optional saveChanges As Object = Nothing) Implements IDocument.Close 120 | Globals.ThisAddIn.Application.ActiveDocument.Close(saveChanges) 121 | End Sub 122 | 123 | Public Sub CompareSideBySideWith(name As String) Implements IDocument.CompareSideBySideWith 124 | Globals.ThisAddIn.Application.Windows.CompareSideBySideWith(name) 125 | Globals.ThisAddIn.Application.Windows.SyncScrollingSideBySide = True 126 | Globals.ThisAddIn.Application.Windows.Arrange(Word.WdArrangeStyle.wdTiled) 127 | End Sub 128 | 129 | Public ReadOnly Property FullName As String Implements IDocument.FullName 130 | Get 131 | Dim filename As String = TF.GetLocalPath(Globals.ThisAddIn.Application.ActiveDocument.FullName) 132 | Return filename 133 | End Get 134 | End Property 135 | 136 | Public ReadOnly Property Name As String Implements IDocument.Name 137 | Get 138 | Return Globals.ThisAddIn.Application.ActiveDocument.Name 139 | End Get 140 | End Property 141 | 142 | Public Sub Open(filename As String) Implements IDocument.Open 143 | Globals.ThisAddIn.Application.Documents.Open(filename) 144 | End Sub 145 | 146 | Public Sub Save() Implements IDocument.Save 147 | Globals.ThisAddIn.Application.ActiveDocument.Save() 148 | End Sub 149 | 150 | Public Sub SaveAs(filename As String) Implements IDocument.SaveAs 151 | Globals.ThisAddIn.Application.ActiveDocument.SaveAs(filename) 152 | End Sub 153 | 154 | Public Property Saved As Boolean Implements IDocument.Saved 155 | Get 156 | Return Globals.ThisAddIn.Application.ActiveDocument.Saved 157 | End Get 158 | Set(value As Boolean) 159 | Globals.ThisAddIn.Application.ActiveDocument.Saved = value 160 | End Set 161 | End Property 162 | 163 | #End Region 164 | 165 | #Region " Method " 166 | 167 | Private Sub SetEnabled(Wb As Microsoft.Office.Interop.Word.Document, ByVal force As Boolean) 168 | If Wb Is Nothing Then 169 | Return 170 | End If 171 | 172 | Globals.Ribbons.TfsRibbon.SetEnabled(Wb, force, True) 173 | 174 | ' マルチスレッドだと不安定になるのでまた今度 175 | 'Dim task As New System.Threading.Thread( 176 | ' Sub() 177 | ' Globals.Ribbons.TfsRibbon.SetEnabled(Wb, force, True) 178 | ' End Sub) 179 | 180 | 'task.SetApartmentState(System.Threading.ApartmentState.STA) 181 | 'task.Start() 182 | End Sub 183 | 184 | 185 | Private Function TF() As TfExe 186 | If Globals.Ribbons.TfsRibbon.Tf Is Nothing Then 187 | Globals.Ribbons.TfsRibbon.Init() 188 | End If 189 | Return Globals.Ribbons.TfsRibbon.Tf 190 | End Function 191 | 192 | #End Region 193 | 194 | End Class 195 | -------------------------------------------------------------------------------- /TfCommand/Resources/Messages.ja.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | チェックイン 122 | 123 | 124 | 比較 125 | 126 | 127 | 競合の解決 128 | 129 | 130 | 棚上げ(シェルブ) 131 | 132 | 133 | サーバーと異なっています。 134 | 135 | 136 | チェックアウトしました。 137 | 138 | 139 | 元に戻しました。 140 | 141 | 142 | TFS の管理配下へ追加しました。チェックインしてください。 143 | 144 | 145 | 変更はありません。 146 | 147 | 148 | 操作確認メッセージ 149 | 150 | 151 | 元に戻してもよろしいですか? 152 | 変更した内容は失われます。 153 | 154 | (追加時はTFS管理外になるだけで変更内容は失われません。) 155 | 156 | 157 | 編集中です。 158 | 保存して実行してもよろしいですか? 159 | 160 | 161 | シェルブを復元してもよろしいですか? 162 | 変更した内容は失われます。 163 | 164 | 165 | 変更する名前を入力してください。 166 | 167 | -------------------------------------------------------------------------------- /TfCommand/Resources/Messages.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | checkin 122 | 123 | 124 | compare 125 | 126 | 127 | Resolving conflicts 128 | 129 | 130 | shelve 131 | 132 | 133 | Server and are different . 134 | 135 | 136 | checked out . 137 | 138 | 139 | was back to the original . 140 | 141 | 142 | added to the management under the TFS. Please check -in . 143 | 144 | 145 | no different 146 | 147 | 148 | Operation confirm message 149 | 150 | 151 | Are you sure you want to be returned to the original ? 152 | Change what you will be lost . 153 | 154 | ( When adding is not lost changes by simply goes out of TFS management . ) 155 | 156 | 157 | Is being edited . 158 | The Are you sure you want to {0} to save ? 159 | 160 | 161 | The Are you sure you want to restore the shelve ? 162 | Change what you will be lost . 163 | 164 | 165 | Please enter the name you want to change . 166 | 167 | --------------------------------------------------------------------------------