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