2017-07-13 323 views
1

Excel 2016(または365)は、Workbook_Open()サブを確実に、より正確には起動しないようです。誰もがこの物語に追加できますか? シンプルイベントサブExcel 2016でWorkbook_Open()が起動しない

Private Sub Workbook_Open() 

    MsgBox "Work book is open" 

End Sub 

が動作していないようです。ただし、ブックが既に開いている場合、上記のSubを含むブックが次に開かれ、期待どおりに実行されます。 Excel 2010とは異なり、2016(365)はExcelアプリケーションウィンドウのブックブックウィンドウではなく、独自のウィンドウで各ブックを開きます。これは2016年のバグですか、回避策がありますか? 私は自分のアプリケーションのために回避策を作りました。それはワークシートのアクティブ化を呼び出し、そこから初期化ルーチンを呼び出します。しかし、少し "粗い"とWorkbook_Open()サブが正しく動作することをお勧めします。 コメント歓迎してください。

さらに詳しい問題 ありがとうございました。これは、ThisWorkbookモジュールの単純な単一のSubです。マクロは有効です。 Excel 2010では、マクロを作成した他のブックの他のマクロと同様に、完全に動作します。 Excel2016でこれがちょうど1つのことです。
Workbook_Open()サブブックがワークブックへのゲートウェイであるとすれば、機能するように回避する必要があるのはちょっと変わったようです。

+0

(a)「Workbook_Open」マクロを使用してブックを作成し(マクロ対応)、Excelを閉じて、エクスプローラでファイルをダブルクリックしてマクロをOK(Iもちろん「マクロを有効にする」を選択してください)。 (b)デフォルトの動作は、Excelの1つのインスタンス内で新しいワークブックを開くことですが、ウィンドウは一緒に「ロック」されません。つまり、1つの矩形の境界線によって制約されません。ウィンドウが同じ境界線によって制約されないという事実は、(AFAIK)が動作する方法に影響を与えるべきではありません。 (そして、Excelの新しいインスタンスを開くための回避策があります。) – YowE3K

+0

この[スレッド]で私の答えを確認してください(https://stackoverflow.com/questions/40529060/excel-add-in-get-workbook-name-of - あなたは同じ問題を抱えているようです。 – Sgdva

+1

SDI(シングルドキュメントインターフェイス)が2013年に導入されました。https://msdn.microsoft.com/VBA/Excel-VBA/articles/programming-for-the-single-document-interface-in-excel –

答えて

0

私のファイルの1つにもこの問題がありました。この問題は、VBAエディタでWorkbook_Openを手動で開いて別の場所に保存することで修正できました。新しい場所にあるファイルには、Workbook_Openを自動実行する際に問題はありません。これで問題が解決しない場合は、元のファイルを新しい場所にコピーしてから手動で&を保存してください。

新しく保存されたファイルでWorkbook_Openが実行されない場合は、使用しているOfficeのバージョンを修復します。

0

Excelの新しいインスタンスで呼び出しをカプセル化してみてください。以下の例:

 Sub OpenInNewExcel() 

     Dim Background_Excel As Excel.Application 
     Dim pathName As String 
     Dim fileName As String 

     Let pathName = "Enter your path here" 'include "\" at the end 
     Let fileName = "Enter your file name here" 

     Background_Excel.Workbooks.Open fileName:=pathName & fileName 



     Background_Excel.Parent.Quit ' This is how you close the file completely using VBA otherwise the file will close and the Excel Shell will remain. 


    End Sub 

また、オプション - 信頼センターで有効マクロが有効になっていることを確認してください。

関連する問題