プロが教える店舗&オフィスのセキュリティ対策術

vbaで
「Shell ("cmd /C copy """ & 」を使用し、
今日の日付と時間を名前にしたエクセルファイル( Time$ & Time$ をファイル名にして)を作成しているのですが

Date$ →2009-05-12
は、エラーになることなくファイルが作成できるのですが
Time$→16:00:24
は、↑の様に「:」が入ってしまう為エラーになってしまいます。


VBAを使って現在の「時間+日付.xls」を作成するにはどうしたらよいでしょうか?

ちなみにnow$はライブラリにすらありませんでした。
ご教授よろしくお願いします。

A 回答 (3件)

 ファイル名にコロンは使えないと存じます。



Date$ & " " & Replace(Time, ":", ".")
のようにコロンをピリオドなどに変換されてはいかがでしょうか?
    • good
    • 0
この回答へのお礼

置換すればいいのですね。ありがとうございます。

お礼日時:2009/05/12 22:58

VBAでTime関数やYear、Month,Day関数が有る。


>「Shell ("cmd /C copy """ & 」を使用し
質問者がそういうことを知らないため、珍奇なやり方になっているのでは。
>時間+日付.xls」ファイルの作成
と言う表現ではなく、エクセルファイルのファイル名を、時間+日付.xlsにしたいと表現すべきでは。
ファイル名には記号文字の中で、使えない文字があるが、それと日付の表現(特に区切りの文字)がバッチングするときは、別の文字で代用しなければならないのは常識。区切り文字をどういう文字にするかは質問者が考えること。
    • good
    • 0
この回答へのお礼

「Shell ("cmd /C copy """ & 」をは珍奇なやり方なのですね。 汗
>エクセルファイルのファイル名を、時間+日付.xlsにしたいと表現
まさしくそうです。
よく考えます。
ありがとうございます。

お礼日時:2009/05/12 23:55

以下のコードは参考になりますでしょうか?


Sub Macro1()
MsgBox WorksheetFunction.Text(Time, "hh/mm/ss")
MsgBox WorksheetFunction.Text(Now, "yy-mm-dd/hh/mm")
End Sub
ワークシートの関数を利用してみました。
    • good
    • 0
この回答へのお礼

なるほど。参考になりました。ありがとうございます。

お礼日時:2009/05/12 22:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!