Excel VBA エラー 1004 「アプリケーション定義またはオブジェクト定義のエラーです。」

かなりハマったのでメモしておきます。

ExcelのVBAで エラー 1004 「アプリケーション定義またはオブジェクト定義のエラーです。」が出たのだが、
特に該当のソースをいじったわけでではなく全然原因がわからなかった。

エラー箇所は下記のIF文…

If ActiveSheet.PageSetup.CenterHeaderPicture.Filename = "" Then

結論から言うと、IF文の前にDebug.Printを入れて実行すると、エラーが出なくなった。
Debug.Printをコメントにしても、エラーが再現しなくなった。

  Debug.Print ActiveSheet.PageSetup.CenterHeaderPicture.Filename
  If ActiveSheet.PageSetup.CenterHeaderPicture.Filename = "" Then
    With ActiveSheet.PageSetup
        .CenterHeaderPicture.Filename = "C:\application\menu\draft.png"
        .CenterHeader = "&G"
        .CenterFooter = "&P / &N ページ"
    End With
  End If

他にも、IF文でシェープの属性を参照すると、同じようなエラーに遭遇したような
値をセットするのは安定しているが、IFで参照する場合は要注意かな…

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です