- ベストアンサー
【VBA】「時間+日付.xls」ファイルの作成
vbaで 「Shell ("cmd /C copy """ & 」を使用し、 今日の日付と時間を名前にしたエクセルファイル( Time$ & Time$ をファイル名にして)を作成しているのですが Date$ →2009-05-12 は、エラーになることなくファイルが作成できるのですが Time$→16:00:24 は、↑の様に「:」が入ってしまう為エラーになってしまいます。 VBAを使って現在の「時間+日付.xls」を作成するにはどうしたらよいでしょうか? ちなみにnow$はライブラリにすらありませんでした。 ご教授よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ファイル名にコロンは使えないと存じます。 Date$ & " " & Replace(Time, ":", ".") のようにコロンをピリオドなどに変換されてはいかがでしょうか?
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17070)
VBAでTime関数やYear、Month,Day関数が有る。 >「Shell ("cmd /C copy """ & 」を使用し 質問者がそういうことを知らないため、珍奇なやり方になっているのでは。 >時間+日付.xls」ファイルの作成 と言う表現ではなく、エクセルファイルのファイル名を、時間+日付.xlsにしたいと表現すべきでは。 ファイル名には記号文字の中で、使えない文字があるが、それと日付の表現(特に区切りの文字)がバッチングするときは、別の文字で代用しなければならないのは常識。区切り文字をどういう文字にするかは質問者が考えること。
お礼
「Shell ("cmd /C copy """ & 」をは珍奇なやり方なのですね。 汗 >エクセルファイルのファイル名を、時間+日付.xlsにしたいと表現 まさしくそうです。 よく考えます。 ありがとうございます。
- hallo-2007
- ベストアンサー率41% (888/2115)
以下のコードは参考になりますでしょうか? Sub Macro1() MsgBox WorksheetFunction.Text(Time, "hh/mm/ss") MsgBox WorksheetFunction.Text(Now, "yy-mm-dd/hh/mm") End Sub ワークシートの関数を利用してみました。
お礼
なるほど。参考になりました。ありがとうございます。
お礼
置換すればいいのですね。ありがとうございます。