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

20 11月, 2015 (13:13) | Excel | By: ohishi

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

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で参照する場合は要注意かな…

 

Write a comment