web-dev-qa-db-ja.com

MS OfficeにVBAを追加するにはどうすればよいですか?

VBA( Visual Basic for Applications )コード/マクロを使用する回答を示す投稿を見てきましたが、その後、VBAの使用方法(実装および実行方法)に関する追加のコメントも書きました。 )。これがコードの実行に役立つことを願っています。

だから、私の質問は:

VBAコードがあります。 MS Excel、Word、またはOutlookプロジェクトにVBAを追加するにはどうすればよいですか?

21
Dave

Microsoft Office製品でVBAエディターを開くには1、 押す Alt+F11

次に、VBAの実装方法を決定する必要があります。ファイルの保存やスプレッドシートの選択の変更など、ソフトウェアのイベントによってトリガーされますか?または、いつでも自分でコードを実行できるようにしたいですか?

前者の場合は、プロジェクトエクスプローラーを見て、現在作業中のファイルに関連付けられているプロジェクトを見つけます。

特定のシートに関連付けられたイベントによってコードをトリガーする場合(たとえば、シート1で値が変更されるたびにコードを実行する必要がある場合)、プロジェクトエクスプローラーにリストされている特定のシートオブジェクトをダブルクリックする必要があります。これにより、コードを貼り付けることができるテキストボックスが開きます。イベントが特定のシートではなくワークブック全体に関連付けられている場合(たとえば、ワークブックの保存時にコードを実行する必要がある場合)、プロジェクトエクスプローラーでThisWorkbookオブジェクトをダブルクリックします。

ただし、イベントによってコードがトリガーされないようにするには、コードをモジュールに配置します。記録されたマクロなど、ドキュメントまたはワークブックに他のコードがある場合、モジュールに表示されます。既存のモジュールがある場合、ほとんどの場合、既存のコードの下の同じモジュールにコードを貼り付けます。既存のモジュールがプロジェクトエクスプローラーに一覧表示されます。

モジュールが存在しない場合は、新しいモジュールを挿入する必要があります。これを行うには、VBAエディタウィンドウのModuleドロップダウンメニューからInsertを選択します。これにより、新しいモジュールが挿入され、エディターウィンドウ内にテキストウィンドウが表示されます。そこにコードを貼り付けます。

モジュールでコードを実行する場合は、いくつかのオプションがあります。 1つは、VBAエディターウィンドウからコードを実行することです。実行したいコードのどこかにカーソルを置いて押すだけです F5、または “play” icon — green triangle pointing to the right メニューバーの下のツールバーにある(実行)ボタンをクリックして、コードを実行します。

別のオプションは、Macrosダイアログボックスを使用することです。開くには、次のいずれかを実行します。

  • リボンのViewタブのMacrosペイン(右端)で、Macrosボタンをクリックします
  • [Developer]タブの[Code]ペイン(左端)で、[Macros]ボタンをクリックします
  • 押す Alt+F8

ダイアログボックスは次のようになります。

enter image description here

上記の例では、YourCodeを実行できます

  • リストから選択してRunをクリックする、または
  • リストから選択してダブルクリックします。

______
1Excel 2010スターターエディションでVBAを使用できますか? によると、Excel 2010スターターエディションではVBAを使用できません。

19
Excellll

これらの手順はOffice 2010を使用して行われます(特に記載されている場合を除く)、2007年と2013年も同様です。私はExcelでそれをやっていますが、違いは微妙なはずです。

最初の手順は、リボンに[開発]タブを追加することです。

Office 2007では、

  1. 「Officeメニュー」→「(プログラム)オプション」をクリックします。 (「Officeメニュー」とは Office button 左上にあるボタンをクリックします。)これにより、下部に[Excelのオプション]、[Wordのオプション]などのボタンがあるメニューが表示されます.

  2. オプションダイアログボックスで、[リボンに[開発者]タブを表示する]をオンにします。 Office menu 「OK」をクリックします。

  3. 新しい「開発者」タブが表示されているはずです。

Office 2010および2013では、

  1. File->Optionsをクリックします。

  2. Customize Ribbonを選択します。

  3. 右側でDeveloperを見つけてチェックボックスをオンにします。 [〜#〜] ok [〜#〜]をクリックします。

  4. 新しいタブが表示されているはずです。それをクリックし、Visual Basicをクリックします。

VBAコード編集ウィンドウである困難な画面が表示されます。

補足事項:VBAコード編集ウィンドウは、 Alt+F11 キーボードショートカット([開発]タブが表示されていない場合でも)。

コード編集ウィンドウの左側に、Project-VBAProjectというペインがあります。この中で、Microsoft Excelオブジェクトの下(この名前は、使用しているプログラム(Word、Outlookなど)によって異なります)は、ThisWorkbookと呼ばれるものです。 ThisWorkbookをダブルクリックします

この例では、次のコードを使用します。

_sub WarnMeOfDanger()
   MsgBox "Argh, a dragon is behind you!"
end sub 
_

上記はすべて、画面にメッセージを表示するためのダイアログボックスを開くことを示しています。

コードをコピーして、VBAコード編集ウィンドウの白いシートに貼り付けます。

VBAコードエディタウィンドウの上部にある緑色の再生ボタンをクリックすると、メッセージが表示されます。

したがって、コードを実行するたびに、この画面に戻って[play]を押してください。

ただし、独自のボタンを追加することもできます。ボタンを追加する場合は、まず、コードの最初の行にWarnMeOfDanger()があることに注意してください。これは実際には「 サブルーチン 」の名前です。これは後で覚えます。次に、使用していたウィンドウを閉じるだけです(コードは自動的に保存されます)。

引き続き開発者リボンで、Insertをクリックし、最初の項目であるボタンを選択します。マウスカーソルが少し十字になります(怒っていない、つまり外観です)。ボタンのサイズを描画します。新しいウィンドウが表示され、ボタンを機能に割り当てるオプションが表示されます。この場合、_ThisWorkbook.WarnMeOfDanger_のようなものが表示されます。これをクリックして、[〜#〜] ok [〜#〜]をクリックします。

ここで、新しいボタンを押すと、メッセージが表示されます。ボタンを右クリックして、移動、テキストの変更、サイズ変更などのオプションを取得します。

4
Dave