2010-11-18 7 views
1

タイトルには、Mac用のOffice 2011の新しいWordバージョンで正しく動作しないマクロを含む単語テンプレートがあります。MAC用Word 2011で正しく実行されないVBAマクロを含むWord 2003テンプレート

Sub Document_New() 
    myForm.Show 
End Sub 

同じでDocument_Openである()Mac版でこのコードを実行していないようだ

:正常に動作しないようです

事は、次のコードです。

Macでこの機能が動作しない理由や、document_open/document_new関数をエミュレートする別の方法があるのは誰でも知っていますか?

EDIT:文書は.dot形式です。そして、私はそれを.docに保存しようとしましたが、Document_open()はうまくいきました。したがって、.dot形式では動作していないようです。Document_New()は、

EDIT 2:.docファイルのDocument_openで一度だけだったようです。私はそれを再び働かせることができません。とても奇妙!私が働く唯一のイベントです。これは.docファイル形式を使用する場合にのみ、Document_Close()です。これは毎回動作します...

EDIT 3:これはちょっと怪しげです。私は、次のコードで新しいの.doc文書を作った:

Private Sub Document_Open() 
    MsgBox ("BlaBlaBla") 
End Sub 

私はワードファイルを閉じて、もう一度それを開こうとする前に、Visual Basicエディターが開いている場合は、コードにのみ実行されます。 Visual Basic Editorを閉じた後に単語ファイルを閉じて単語ファイルを開くと、コードは実行されません。

??

+0

最後の編集はすべて意味があります。 VBの実行プロセスは1つのみで、VBエディタを起動すると実行(再生/一時停止の停止ボタン)を制御できます。だから、どこに問題がVBのエディタを使用して_Open()イベントを実行している場合、それが原因です。すべてのアプリケーションVBイベントは、意図しないコードの実行を意味するため、抑制されます。 – jpinto3912

答えて

1

VBエディタがアクティブで、現在のプロジェクトが実行されていないと、すべてのVBアプリケーションイベントが抑制されます。不要なコードの実行を防ぐために、デバッグできないように意図的に動作します。

私はWorkbook_Open()をExcelで使用していますが、これは開いていないVBエディタExcelアプリケーションから新しく開いたExcel Xls(2010年のxlsm)でのみ動作します。 他のdoc/xlsが既に開いているが、vb-editorが起動していない場合はうまくいきます。

マクロが許可されているかどうかを確認しましたか?証明書を生成し、アプリケーションを信頼できるソースとしてセットアップしましたか?

+0

マクロは許可されています。イベントはワークブックオブジェクトで利用できます。これはとても奇妙です。今私はDocument_Close()を動作させるだけです。これは.docファイル形式を使用している場合のみです。 – Noop

+1

Workbookオブジェクトについて言及して申し訳ありませんが、これはWordではなくExcel上にあります。うーん...私はいくつかのことを試してみましょう、なぜこれが起こっている可能性がありますが、あなたの編集からは、明確な(意図的な)縫い目があります。 – jpinto3912

+0

テストに時間を割いてくれてありがとう!この動作は、2003/2007のPCとは異なります。そして、なぜこれらのイベントを実行するために、文書を閉じる前にVBエディタを開いておく必要があるのか​​について、正当な理由はありません。 – Noop

関連する問題