Excel VBA質問箱 IV

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

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


3689 / 13646 ツリー ←次へ | 前へ→

【60689】FileSystemObject 初心者 09/3/9(月) 9:39 質問[未読]
【60691】Re:FileSystemObject neptune 09/3/9(月) 10:13 発言[未読]
【60693】Re:FileSystemObject つん 09/3/9(月) 11:35 発言[未読]
【60711】Re:FileSystemObject 初心者 09/3/10(火) 11:42 お礼[未読]
【60712】Re:FileSystemObject 初心者 09/3/10(火) 11:45 お礼[未読]

【60689】FileSystemObject
質問  初心者  - 09/3/9(月) 9:39 -

引用なし
パスワード
   現在ファイルを作成してすぐにクローズするというものを作りました。
問題なく処理は動くのですが、WITHステートメントを使用しております。
このWITHを使用しないで作ろうとするとうまくいきません。

何か方法を知っている方がいましたら教えてください。
よろしくお願いします。

■ソース

Public Sub CreateLogFile(ByVal strFileName As String)
  Dim objFS
  Dim strFilePath As String
 
  strFilePath = c_FilePath & strFileName & c_Extension
  Set objFS = CreateObject("Scripting.FileSystemObject")
   
  If Not objFS.FolderExists(c_FilePath) Then
   objFS.CreateFolder "c_FilePath"
  End If
 
  With objFS.CreateTextFile(strFilePath)
  .Close
  End With
 
  Set objFS = Nothing
   
End Sub

【60691】Re:FileSystemObject
発言  neptune  - 09/3/9(月) 10:13 -

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

>何か方法を知っている方がいましたら教えてください。
多分、初心者 さんの基本がしっかり出来ていないだけの話で
何か方法という話ではないと思います。

>  With objFS.CreateTextFile(strFilePath)
>  .Close
>  End With
これの事かな?

どうやって書いているか知りませんが、適切なオブジェクト
にそのオブジェクトの持つプロパティなり、メソッドなりを
命令してやらなければなりません。

それが出来ていないだけ問題と思いますよ。
with のサンプルは山のようにあるはずですから
ここの掲示板ででも検索してみては如何ですか?
オブジェクトがfsoであろうがなんであろうが書式は同じです。

【60693】Re:FileSystemObject
発言  つん  - 09/3/9(月) 11:35 -

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

>  With objFS.CreateTextFile(strFilePath)
>  .Close
>  End With

この部分だと思いますが、Withステートメントを使わないということは、
単純に

objFS.CreateTextFile(strFilePath).Close

だと、思いますが、こちらでは特に問題はなかったです。

あと、

>  If Not objFS.FolderExists(c_FilePath) Then
>   objFS.CreateFolder "c_FilePath"
>  End If

この部分ですが、
objFS.CreateFolder "c_FilePath"
の、「c_FilePath」を「””」で囲む必要性はないですよね?
これだと、「c_FilePath」という名前のフォルダが作成されちゃいまする。

【60711】Re:FileSystemObject
お礼  初心者  - 09/3/10(火) 11:42 -

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

自分で調べた結果

なんとかうまく動かすことができました。

自分の無力さを痛感しました。

これからはいっそう自分の力で問題を解決できるよう努力します。

お騒がせしました。

■ソース

Public Sub CreateLogFile(ByVal strFileName As String)
  Dim objFS, objFile
  Dim strFilePath As String
 
  strFilePath = c_FilePath & strFileName & c_Extension
  Set objFS = CreateObject("Scripting.FileSystemObject")
 
  With objFS
    If Not .FolderExists(c_FilePath) Then
      .CreateFolder c_FilePath
    End If

    Set objFile = .CreateTextFile(strFilePath)
    objFile.Close
  End With
 
  Set objFS = Nothing
   

【60712】Re:FileSystemObject
お礼  初心者  - 09/3/10(火) 11:45 -

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

自分で調べた結果

なんとかうまく動かすことができました。

自分の無力さを痛感しました。

これからはいっそう自分の力で問題を解決できるよう努力します。

お騒がせしました。

■ソース

Public Sub CreateLogFile(ByVal strFileName As String)
  Dim objFS, objFile
  Dim strFilePath As String
 
  strFilePath = c_FilePath & strFileName & c_Extension
  Set objFS = CreateObject("Scripting.FileSystemObject")
 
  objFS
  If Not .FolderExists(c_FilePath) Then
      Public Sub CreateLogFile(ByVal strFileName As String)
  Dim objFS, objFile
  Dim strFilePath As String
 
  strFilePath = c_FilePath & strFileName & c_Extension
  Set objFS = CreateObject("Scripting.FileSystemObject")
 
  If Not .FolderExists(c_FilePath) Then
    objFS.CreateFolder c_FilePath
  End If

  Set objFile = objFS.CreateTextFile(strFilePath)
  objFile.Close
  
 
  Set objFS = Nothing
   

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