Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3702 / 13644 ツリー ←次へ | 前へ→

【60592】日付をつけてファイル名を保存したい 初心者 09/3/4(水) 10:24 質問[未読]
【60596】Re:日付をつけてファイル名を保存したい 超初心者 09/3/4(水) 10:53 発言[未読]
【60597】Re:日付をつけてファイル名を保存したい つん 09/3/4(水) 10:57 発言[未読]
【60598】Re:日付をつけてファイル名を保存したい kanabun 09/3/4(水) 11:03 発言[未読]
【60612】Re:日付をつけてファイル名を保存したい 初心者 09/3/5(木) 9:55 質問[未読]
【60613】Re:日付をつけてファイル名を保存したい Jaka 09/3/5(木) 10:17 発言[未読]
【60616】Re:日付をつけてファイル名を保存したい つん 09/3/5(木) 10:23 発言[未読]
【60617】Re:日付をつけてファイル名を保存したい Jaka 09/3/5(木) 10:40 発言[未読]
【60618】Re:日付をつけてファイル名を保存したい つん 09/3/5(木) 10:50 発言[未読]
【60614】Re:日付をつけてファイル名を保存したい つん 09/3/5(木) 10:18 回答[未読]
【60615】Re:日付をつけてファイル名を保存したい 初心者 09/3/5(木) 10:22 お礼[未読]

【60592】日付をつけてファイル名を保存したい
質問  初心者  - 09/3/4(水) 10:24 -

引用なし
パスワード
   お疲れ様です。

ファイル名に日付をつけて新規保存しようと考えておりますが、
下記のように記述すると「パスが見つかりません」
というエラーが出てしまいます。
うまく解決する方法はないでしょうか?
どなたか返信よろしくお願いします。

■ソース

myDate = Now
With FSO.OpenTextFile("C:\" & myDate & "log.txt", 2, True)
 .WriteLine log
End With

【60596】Re:日付をつけてファイル名を保存したい
発言  超初心者  - 09/3/4(水) 10:53 -

引用なし
パスワード
   ▼初心者 さん:
私も詳しくは無いのですが、
FSO.OpenTextFile ってファイル名の取得のみではなかったですか。

保存するなら、SaveAs などを使用すると良いかと。

【60597】Re:日付をつけてファイル名を保存したい
発言  つん  - 09/3/4(水) 10:57 -

引用なし
パスワード
   ▼初心者 さん、こんにちは^^


>myDate = Now
>With FSO.OpenTextFile("C:\" & myDate & "log.txt", 2, True)
> .WriteLine log
>End With

FileSystemObjectはあまりよく知らないのですが・・・

「OpenTextFile」は、既にあるファイルを開くんじゃないかなあ・・・
新規に作成するなら「CreateTextFile」ではないかと思います。

【60598】Re:日付をつけてファイル名を保存したい
発言  kanabun  - 09/3/4(水) 11:03 -

引用なし
パスワード
   ▼初心者 さん:

よこからスミマセン。

>■ソース
>
>myDate = Now

は ちょっとまずいのでは?
MsgBox myDate
として、確認してみてください。 / や : が含まれてませんか?

【60612】Re:日付をつけてファイル名を保存したい
質問  初心者  - 09/3/5(木) 9:55 -

引用なし
パスワード
   皆さん返信ありがとうございます。

下記のようにソースを修正したところ、一応日付(時刻も)のついたファイルを出力することができました。

しかし、ファイル名が20090305939.txtというようになります。
個人的には時刻を0939のように0を頭につけたものを作りたいと考えておるのですが、どのようにすればいいでしょうか?わかる方教えてください。よろしくお願いします。
 
■ソース
  Dim strFileName As String
  Dim intFileNo As Integer
  Dim strData As String
  Dim log As String
  Dim myDate As String
  Dim objFS, objFolder, objTS
  
  
  strFileName = "C:\sample.txt"
  intFileNo = FreeFile
  
  Open strFileName For Input As #intFileNo
  
  Do While Not EOF(intFileNo)
    Line Input #intFileNo, strData
    If log = "" Then
      log = strData
    Else
      log = log & vbNewLine & strData
    End If
  Loop
   
  Close intFileNo
  
  myDate = Format(Date, "yyyymmdd") & Hour(Time) & Minute(Time)
     
  
  Set objFS = CreateObject("Scripting.FileSystemObject")
  Set objFolder = objFS.GetFolder("C:\")
  Set objTS = objFolder.CreateTextFile(myDate & ".txt")
  objTS.WriteLine log
  objTS.Close

  
End Sub

【60613】Re:日付をつけてファイル名を保存したい
発言  Jaka  - 09/3/5(木) 10:17 -

引用なし
パスワード
   >  myDate = Format(Date, "yyyymmdd") & Hour(Time) & Minute(Time)
    ↓
   myDate = Format(Now(), "yyyymmddhhnn")

【60614】Re:日付をつけてファイル名を保存したい
回答  つん  - 09/3/5(木) 10:18 -

引用なし
パスワード
   ▼初心者 さん:
おはようございます。

>しかし、ファイル名が20090305939.txtというようになります。
>個人的には時刻を0939のように0を頭につけたものを作りたいと考えておるのですが、どのようにすればいいでしょうか?わかる方教えてください。よろしくお願いします。

全部まとめて、Now関数でいいんじゃないやろか?

Format(Now, "yyyymmddhhmm")

これで、一応「200903051017」が取得出来ましたが
分も一桁じゃなかったので、「01」表示になってるか確かめられないけど、
多分大丈夫・・・と、思います。

> 
>■ソース
>  Dim strFileName As String
>  Dim intFileNo As Integer
>  Dim strData As String
>  Dim log As String
>  Dim myDate As String
>  Dim objFS, objFolder, objTS
>  
>  
>  strFileName = "C:\sample.txt"
>  intFileNo = FreeFile
>  
>  Open strFileName For Input As #intFileNo
>  
>  Do While Not EOF(intFileNo)
>    Line Input #intFileNo, strData
>    If log = "" Then
>      log = strData
>    Else
>      log = log & vbNewLine & strData
>    End If
>  Loop
>   
>  Close intFileNo
>  
>  myDate = Format(Date, "yyyymmdd") & Hour(Time) & Minute(Time)
>     
>  
>  Set objFS = CreateObject("Scripting.FileSystemObject")
>  Set objFolder = objFS.GetFolder("C:\")
>  Set objTS = objFolder.CreateTextFile(myDate & ".txt")
>  objTS.WriteLine log
>  objTS.Close
>
>  
>End Sub

【60615】Re:日付をつけてファイル名を保存したい
お礼  初心者  - 09/3/5(木) 10:22 -

引用なし
パスワード
   早速の返信ありがとうございます。

おかげさまで問題解決できました。ありがとうございました。

【60616】Re:日付をつけてファイル名を保存したい
発言  つん  - 09/3/5(木) 10:23 -

引用なし
パスワード
   ▼Jaka さん、
ども、ご無沙汰してます。

>>  myDate = Format(Date, "yyyymmdd") & Hour(Time) & Minute(Time)
>    ↓
>   myDate = Format(Now(), "yyyymmddhhnn")

あれ?最後「nn」か・・・
私、「mm」にしてました。結果同じなすけど〜(>_<)

ヘルプに

MyStr = Format(MyTime, "hh:mm:ss AMPM")  ' "05:04:23 PM" を返します。

と、あったから、「mm」かな・・と。
「ss」は秒ですよね?

【60617】Re:日付をつけてファイル名を保存したい
発言  Jaka  - 09/3/5(木) 10:40 -

引用なし
パスワード
   ▼つん さん:
ども、ご無沙汰してます。
もう、主婦になってりして平和な日々をおくちゃって入るのかな??
と思ってました。
昨年のお誕生日忘れてごめんなさい。
気が付いたら年明けちゃってました。

"yyyymmddhhnn"
なぜnnかというと、月と分を混同すると、おかしな状態になるのを避けるため、nnにしました。
でも、おかしなぐらいになるって、どんな状態の時か忘れて覚えてないですけどね。
なんとなくそうした方がいいかな?
ってな気分で。

【60618】Re:日付をつけてファイル名を保存したい
発言  つん  - 09/3/5(木) 10:50 -

引用なし
パスワード
   ▼Jaka さん:

>もう、主婦になってりして平和な日々をおくちゃって入るのかな??
そんなんだったら良かったのにな〜てなとこです(笑)

>昨年のお誕生日忘れてごめんなさい。
>気が付いたら年明けちゃってました。
いえいえ!私もここんとこずっとアクセスもしてませんでしたから(>_<)
お気持ちはありがとう^^
VBAもすっかりさぼって、初心者以下に成り下がってますorz
またこちらで勉強させてもらおうと思ってるので、またよろしくね!


>"yyyymmddhhnn"
>なぜnnかというと、月と分を混同すると、おかしな状態になるのを避けるため、nnにしました。
ああ・・なるほど。
私も、「月」と「分」で同じなのはどうなんやろ?と引っかかってはいました。
「nn」の方がいいかもしれませんね。

3702 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free