• ベストアンサー

マクロが思い通りに動きません

エクセルでマクロを使いボタンを 作りました。ボタンを押すとHDDとDVDに保存される仕組みになっています Sub DVD() ChDir "E:\" ActiveWorkbook.SaveAs Filename:=Format(Now, "yyyy-mm-dd(hh時mm分ss秒)"), FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub Sub HDD() ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\***\デスクトップ\ファイル名.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub これだとDVDへ保存が上手くいきません。DVDからエクセルを開いて使えば問題ないのですが、デスクトップから開くと日付入りのデータがデスクトップに保存されてしまいます。 どうやって書き換えたらいいでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.1

DVD()の先頭行に ChDrive "E" を追加してください。ChDirではカレントディレクトリディレクトリ(カレントフォルダ)しか変更しないので、カレントドライブを変更する必要があります。 どちらかというと、Filenameパラメータを "E:\"&Format(Now, "yyyy-mm-dd(hh時mm分ss秒)") とするのが良いかと。作業用ファイルなどがカレントディレクトリに保存される可能性があるので、カレントディレクトリは変更しない方が望ましいです。 #HDDはフルパスで指定しているのにDVDはなぜ相対パス?

kenken0
質問者

お礼

解決しました♪ありがとうございます★ DVDもフルパスにしたかったのですが、Formatを 使ったときにどう書いていいかわかりませんでした。 &を使えばよかったのですね。感謝です♪

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 Sub HDD() 側では、"C:\Documents and Settings\***\デスクトップ\ とフォルダ名をつけておきながら、Sub DVD() では、 ActiveWorkbook.SaveAs Filename:=Format(Now, "yyyy-mm-dd(hh時mm分ss秒)") と、ActiveWorkbook のフォルダに保存するように書いていますね。きちんと、ドライブ名をつけたらいかがですか?ChDir で、カレントドライブが変わっただけで、保存することとは別だと思います。