タスク :VS 2012でホットキーとメニューの両方で使用できるように、マクロを含むファイルをアドインに転送します。
問題を解決した結果、マクロを使用してファイルを追加し、コンパイルしてMy Documents \ VisualStudio 2012 \ AddInsフォルダーにコピーするだけで十分なプロジェクトテンプレートが表示されました。
プロジェクト-Dropboxをダウンロードします。
モジュール転送
- Visual Studio 2010 (またはそれ以前)では 、マクロエディターを開きます。 [ プロジェクトエクスプローラー]ウィンドウで、モジュールを選択し、右クリックして[ エクスポート ]を選択し、保存します。
- ダウンロードしたプロジェクトをVisual Studio 2012で開きます。 Cmdフォルダーを右クリックし、[ 追加 ] \ [ 既存のアイテム ] をクリックして、保存したファイルを選択します。
- 各モジュールをNamespace Cmdでラップし、そこからコマンドを選択します。
Namespace Cmd .... End Namespace
- ヘルパークラスとモジュールは、 Helpersなどの別のフォルダーに配置する方が適切です。
基本設定。 モジュール「 g.vb 」
- メニューに表示する必要があるコマンドのリストを指定するには、 cmdIconsコレクションに入力します。
形式:{'' Module_name。Procedure_name ''、Microsoft Officeツールバーのアイコン番号(FaceID) }。 例:
Friend cmdIcons As Dictionary(Of String, Integer) = New Dictionary(Of String, Integer) From { ... , {"Sample.Test", 917} }
このリンクでアイコンを選択できます
- MyMenuName変数は、 cmdIconsからのコマンドのリストが表示されるメニューを示します 。
現時点では、メインメニューの既存のリストから名前を指定する価値があります。 別の名前を指定すると、最初の開始時のみ表示され、その後はリストとともに消えます。 誰かがこの問題を解決するのを手伝ってくれたら嬉しいです。
- 必要に応じて、ドキュメントイベントを入力します。
Private Sub document_Saved(ByVal d As EnvDTE.Document) Handles docEvents.DocumentSaved ' End Sub Private Sub document_Open(ByVal d As EnvDTE.Document) Handles docEvents.DocumentOpened ' End Sub Private Sub document_Close(ByVal d As EnvDTE.Document) Handles docEvents.DocumentClosing ' End Sub
最終段階
- プロジェクトをコンパイルし、 binフォルダーを開き、ファイルMyAddin.AddIn 、 MyAddin.dllをコピーします
My Documents \ Visual Studio 2012 \ AddInsで 。 - プロジェクトの名前が変更されている場合は、ファイルMyAddin.AddInの名前も変更し、新しい名前に従って内部を変更する必要があります。
- VisualStudioを再起動します。
- [ ツール]、[オプション]、[環境]、[キーボード]の順に移動し、検索にMyAddin (または名前を変更したもの)を入力して、ホットキーを割り当てます。
注釈
- マクロでは、IDEは同じ名前のグローバル変数であるDTE変数を介してアクセスされ、対応するリンクはg.vbモジュールで既に作成されているため、マクロを変更する必要はありません。
- 便宜上、 Selectionプロパティ( ドキュメント内の選択されたテキストを示す )およびDoプロパティ( アクティブなドキュメントを示す )はg.vbに配置され、マクロからg.Selectionおよびg.Docを介してアクセスできます。
- プロジェクトを再コンパイルし、Visual Studio 2012 \ AddInsフォルダー内のファイルを更新した後、マクロへのホットキーの割り当てを繰り返す必要があります。
PS:建設的な批判と提案を喜んでいます。