[[20170519132547]] 『日付で記録のマクロについて』(enb) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『日付で記録のマクロについて』(enb)

デスクトップに「申送り保存用」というファルダーを作りましたが、なぜかそこに保存されず、「実行時エラー1004」と表示されます。

以下の構文のどこがおかしいのかご教授頂けませんか?

Sub Macro2()

 '
 ' Macro2 Macro
 '
     ChDir "C:\Users\hinata5\Desktop\申送り保存用"
     ActiveWorkbook.SaveAs Filename:="C:\Users\hinata5\Desktop\ ""申送保存用" & Format(Date, "yyyy.m.d") & ".xlsm" _
         , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
 End Sub

よろしくおねがいいたいます。

< 使用 Excel:Excel2013、使用 OS:Windows8 >


 >ActiveWorkbook.SaveAs Filename:="C:\Users\hinata5\Desktop\ ""申送保存用" & Format(Date, "yyyy.m.d") & ".xlsm" _

 ↓では?

 ActiveWorkbook.SaveAs Filename:="C:\Users\hinata5\Desktop\申送保存用\" & Format(Date, "yyyy.m.d") & ".xlsm" _

 あと、↓は不要です。

 ChDir "C:\Users\hinata5\Desktop\申送り保存用"
(カリーニン) 2017/05/19(金) 13:41

 アクティブなユーザーのデスクトップを指定するには↓のような方法があります。

 CreateObject("WScript.Shell").SpecialFolders("Desktop")

 参考HPです。
http://excelwork.info/excel/specialfolder/
(カリーニン) 2017/05/19(金) 13:49

お答えいただきありがとうございます。

となると、

' Macro2 Macro

 '
  ActiveWorkbook.SaveAs Filename:="C:\Users\hinata5\Desktop\ ""申送保存用" & Format(Date, "yyyy.m.d") & ".xlsm" _
         , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateObject("WScript.Shell").SpecialFolders("Desktop")

 End Sub

という形でアクティブなデスクトップ指定での日付保存になるのでしょうか?

コピペしてそのまま張り付ける予定です。
(enb) 2017/05/19(金) 13:57


 私の回答をよく見てください。
 あと、VBAヘルプも参照するといいでしょう。
(カリーニン) 2017/05/19(金) 14:00

 参考になると思います。

https://msdn.microsoft.com/ja-jp/library/office/ff841185.aspx
(カリーニン) 2017/05/19(金) 14:01


 あと、自分で勉強する意思がなく、コピペだけで動くようなマクロをお求めになる方には
 回答する気力はありません。
(カリーニン) 2017/05/19(金) 14:06

 好みの問題かもしれませんが、ファイル名に「.」が含まれているのは
 どうかと思います。

 VBAや関数でパスなどを処理するとき、思わぬエラーになる可能性が
 あります。これはコードの書き方にもよりますが。
(カリーニン) 2017/05/19(金) 14:29

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.