none
起動時にWorkbook_Openが実行されない【Excel2016】 RRS feed

  • 質問

  • 旧PC(Excel2013)で作成したエクセルファイルを新PC(Excel2016)で実行すると、
    掲題の通りWorkbook_Openが実行されません。

    ファイルはDropboxの中にあるものを起動しております。

    イミディエイトウィンドウに以下を入力してもtrueとなっております。
    ?Application.EnableEvents

    また、Application.EnableEvents = False とコードに記載していません。

    原因となりそうなものはどういったものがありそうでしょうか?

    Workbook_Openの記載は以下の用な感じです。
    ThisWorkbook内

    Private Sub Workbook_Open()
        
        Stop '←試しにStopコマンドを入れてみましたが停止しないため実行していないと判断しました

        '既にロックファイルが存在する場合は保存せずファイルを閉じる
        If existLockFile <> "" Then
            MsgBox ("現在使用中です" & vbCrLf & "少し経ってから開いてください")
            flgChanged = False
            Application.DisplayAlerts = False
            ThisWorkbook.Close
            Application.DisplayAlerts = True
            
        End If
        
        'エクセルのアプリケーションは表示しない(フォームのみ表示する)
        Application.Visible = False
        
        'メニューを表示する
        frmSplash.Show vbModeless
        frmSplash.Repaint
       
        
        'ロックファイルの作成
        Dim strExSfxFileName As String
        strExSfxFileName = Replace(ThisWorkbook.Name, ".xlsm", "")
        Call creatLockFile(ThisWorkbook.Path + "\" & strExSfxFileName & "_" & strUserName & ".lock")
      
    End Sub

    2017年6月5日 4:59

すべての返信

  • norimochi さん、

    誤解していたらご容赦ください。

    「Dropboxの中にあるものを起動しています」とのことですが、ブラウザー(Dropbox にログインしている画面)内で当該ファイルを開こうとなさっているのではないでしょうか? Dropbox の中ではマクロは実行されません。Dropbox の中にあるファイルをローカルにダウンロードして、それを開いてみてください。

    なお、マクロが実行されたかどうかを判断するには、Private Sub Workbook_Open() の先頭に
    MsgBox "Workbook_Open が実行された" などとするのが最も簡単な判断方法かと思います。

    _____________
    北窓舎: 芦田
    2017年6月6日 3:54