Excel VBA質問箱 IV

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

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


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

【34383】フォルダ内のファイル読み込み方法 たく 06/2/1(水) 18:53 質問[未読]
【34397】Re:フォルダ内のファイル読み込み方法 inoue 06/2/1(水) 22:12 発言[未読]
【34402】Re:フォルダ内のファイル読み込み方法 yuuka 06/2/1(水) 23:40 発言[未読]
【34404】Re:フォルダ内のファイル読み込み方法 inoue 06/2/2(木) 0:33 発言[未読]
【34405】Re:フォルダ内のファイル読み込み方法 yuuka 06/2/2(木) 0:42 発言[未読]
【34406】Re:フォルダ内のファイル読み込み方法 inoue 06/2/2(木) 0:50 発言[未読]
【34407】Re:フォルダ内のファイル読み込み方法 yuuka 06/2/2(木) 1:00 発言[未読]
【34413】Re:フォルダ内のファイル読み込み方法 inoue 06/2/2(木) 9:15 発言[未読]
【34441】Re:フォルダ内のファイル読み込み方法 yuuka 06/2/2(木) 20:35 質問[未読]
【34446】Re:フォルダ内のファイル読み込み方法 inoue 06/2/2(木) 22:00 発言[未読]
【34447】Re:フォルダ内のファイル読み込み方法 inoue 06/2/2(木) 22:03 発言[未読]
【34448】Re:フォルダ内のファイル読み込み方法 yuuka 06/2/2(木) 22:17 発言[未読]
【34449】Re:フォルダ内のファイル読み込み方法 Hirofumi 06/2/2(木) 22:50 回答[未読]
【34450】Re:フォルダ内のファイル読み込み方法 yuuka 06/2/2(木) 23:01 発言[未読]
【34497】Re:フォルダ内のファイル読み込み方法 Hirofumi 06/2/3(金) 21:39 回答[未読]
【34539】Re:フォルダ内のファイル読み込み方法 yuuka 06/2/5(日) 22:09 お礼[未読]
【34540】Re:フォルダ内のファイル読み込み方法 yuuka 06/2/5(日) 22:20 質問[未読]
【34571】Re:フォルダ内のファイル読み込み方法 Hirofumi 06/2/6(月) 22:41 回答[未読]
【34602】Re:フォルダ内のファイル読み込み方法 yuuka 06/2/7(火) 23:16 お礼[未読]

【34383】フォルダ内のファイル読み込み方法
質問  たく  - 06/2/1(水) 18:53 -

引用なし
パスワード
   こんばんは。初心者的な質問ですが、教えていただきたいこといくつかがあります。

1.、ダイアログボックスからフォルダ内にあるファイルを読み込ませたい
これは、フォルダ内に入っているCSvファイルを読み込ませたいのですが、方法がわかりません。
以下の記述は、ファイルを読み込ますのですが、ここからフォルダへ変更するのはどうすればいいでしょうか?

Sub ファイル選択()
'
' Macro1 Macro
' マクロ記録日 : 2006/1/14 ユーザー名 :
Dim Fname
Fname = Application.GetOpenFilename(filefilter:="CSV ファイル(*.csv),*.csv")

'
  With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Fname, _
    Destination:=Range("A1"))

   ' キャンセルされた場合は以降の処理は行なわない
  If StrConv(Fname, vbUpperCase) = "FALSE" Then Exit Sub
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = xlWindows
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
   
    .Refresh BackgroundQuery:=False
  End With
End Sub

また、ファイル2個目以降から1行分削除して読み込ませたいのですが、その記述方法も教えていただけませんか?

雑文で申し訳ないですが、ご教授のほどお願いいたします。

【34397】Re:フォルダ内のファイル読み込み方法
発言  inoue E-MAILWEB  - 06/2/1(水) 22:12 -

引用なし
パスワード
   こんばんは。

提示のコードの方法は私にはなじみがないので、
手の内にあるものを参考として提示します。
既存シートに読み込むならこれらを組み合わせればできるはずです。
ただ、技量のほどは分からないので
あくまで参考として下さい。
[フォルダ内のワークブックを順次処理する。]
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_120.html
[CSV形式テキストデータの読み込み]
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_020.html

【34402】Re:フォルダ内のファイル読み込み方法
発言  yuuka  - 06/2/1(水) 23:40 -

引用なし
パスワード
   こんばんは。ありがとうございます

ひとつご質問があるのですが、

  CSVデータの読み込み
 
  Const ForReading = 1

  Dim i As Long
  Dim rngWrite As Range
  Dim lngRow As Long
  Dim strPath As String
  Dim vntFileNames As Variant
  Dim vntField As Variant
  Dim strBuff As String
  Dim objFso As Object
  Dim objFileStr As Object
  Dim strProm As String
  Dim ShellApp As Object
  Dim oFolder As Object
  '書き込む位置を設定
  Set rngWrite = ActiveSheet.Cells(1, "A")
 
  'FSOのオブジェクトを取得
  Set objFso = CreateObject("Scripting.FileSystemObject")
 
  '読み込むファイルのフォルダを設定
  Set ShellApp = CreateObject("Shell.Application")
  Set oFolder = ShellApp.BrowseForFolder(0, "フォルダ選択", 1)
  strPath = oFolder
  '指定フォルダからファイル名を取得
  If Not GetFilesList(vntFileNames, strPath, objFso, "csv", ".*") Then
    strProm = "ファイルがありません"
    GoTo Wayout
  End If

上記の作成したのですが、うまく動作しません。
もしよければご教授願いたいのですが。。。

【34404】Re:フォルダ内のファイル読み込み方法
発言  inoue E-MAILWEB  - 06/2/2(木) 0:33 -

引用なし
パスワード
   こんばんは。

▼yuuka さん:
>ひとつご質問があるのですが、
>上記の作成したのですが、うまく動作しません。
どこがどのように「うまく動作しません」なのですか?
ご自分でデバッグできているのでしょうか?

とりあえず、
>  'FSOのオブジェクトを取得
>  Set objFso = CreateObject("Scripting.FileSystemObject")
デバッグ中は参照設定された方が良いと思います。

>  strPath = oFolder
これだとそのフォルダ名だけしか取れないのでは?
フルパスが取得できないと以降の処理はできないでしょう。
strPath = oFolder.self.Path
とかでないと。(Windowsのバージョンによりますが)

>  '指定フォルダからファイル名を取得
>  If Not GetFilesList(vntFileNames, strPath, objFso, "csv", ".*") Then
「GetFilesList」なるものはユーザー関数のようですが、
この中身は何なのでしょう。

【34405】Re:フォルダ内のファイル読み込み方法
発言  yuuka  - 06/2/2(木) 0:42 -

引用なし
パスワード
   ▼inoue さん:
>こんばんは。
>
>▼yuuka さん:
>>ひとつご質問があるのですが、
>>上記の作成したのですが、うまく動作しません。
>どこがどのように「うまく動作しません」なのですか?
>ご自分でデバッグできているのでしょうか?
>
⇒うまく動作しないというのは、ファイルがあるのに「ファイルがありません。」と表示されてしまいます。
>とりあえず、
>>  'FSOのオブジェクトを取得
>>  Set objFso = CreateObject("Scripting.FileSystemObject")
>デバッグ中は参照設定された方が良いと思います。
>
>>  strPath = oFolder
>これだとそのフォルダ名だけしか取れないのでは?
>フルパスが取得できないと以降の処理はできないでしょう。
>strPath = oFolder.self.Path
>とかでないと。(Windowsのバージョンによりますが)
>⇒ここの変更方法がいまいちわかりません。。。バージョンはxpです

>>  '指定フォルダからファイル名を取得
>>  If Not GetFilesList(vntFileNames, strPath, objFso, "csv", ".*") Then
>「GetFilesList」なるものはユーザー関数のようですが、
>この中身は何なのでしょう。
⇒これは、選択した中のリストを参照しています。すいません、自分で書いといて良く理解していません。。。

【34406】Re:フォルダ内のファイル読み込み方法
発言  inoue E-MAILWEB  - 06/2/2(木) 0:50 -

引用なし
パスワード
   ▼yuuka さん:
>>ご自分でデバッグできているのでしょうか?
>⇒うまく動作しないというのは、ファイルがあるのに
>「ファイルがありません。」と表示されてしまいます。
デバッグとは、ただ動かして結果を見ることではありません。
[マクロを「書いてみた」「動かした」「ダメでした」。]
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_200.html

>>⇒ここの変更方法がいまいちわかりません。。。バージョンはxpです
単に、
>  strPath = oFolder
これを、
strPath = oFolder.self.Path
に替えてみて下さい。
上記の「デバッグ」の方法が分かったら、
前のままで「strPath」に何が格納されているか見れば分かります。

>>「GetFilesList」なるものはユーザー関数のようですが、
>>この中身は何なのでしょう。
>⇒これは、選択した中のリストを参照しています。
>すいません、自分で書いといて良く理解していません。。。
まあ、これ以前の問題のようですから、
ここはこの次にしましょう。

【34407】Re:フォルダ内のファイル読み込み方法
発言  yuuka  - 06/2/2(木) 1:00 -

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

早速試したところ、 strPath = oFolder.self.Path
現状と変わらずでした。

また、デバックで確認したところ、strPathには自分の選択したフォルダが入っていました。

なぜ読み込まれないのかわかりません。。。

大変お手数かけてしまい、すいません。

【34413】Re:フォルダ内のファイル読み込み方法
発言  inoue E-MAILWEB  - 06/2/2(木) 9:15 -

引用なし
パスワード
   >早速試したところ、 strPath = oFolder.self.Path
>現状と変わらずでした。
>また、デバックで確認したところ、strPathには
>自分の選択したフォルダが入っていました。
strPath = oFolder
の時と、
strPath = oFolder.self.Path
の時の
strPathの中身は同じではないですよね。

どちらでも同じ結果なのですか?
それなら、これより下に書いてある「隠れた部分」も疑わなければなりません。

ところで、フォルダ内のファイル一覧の取得が目的なのでしたら、
[フォルダ内のファイル一覧の取得]
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_080.html
こちらのようなものではいけませんか?

【34441】Re:フォルダ内のファイル読み込み方法
質問  yuuka  - 06/2/2(木) 20:35 -

引用なし
パスワード
   こんばんは。返事が遅くなってしまい、ごめんなさい。

あの後色々試したらできるようになりました!
ありがとうございました。

図々のですが、もうふたつほど教えていただきたいことがあります。

読み込んだファイル(CSV)を高速処理する事は可能でしょうか?

あと、読み込んだファイルを以下のように一定のセル置きに削除することは可能でしょうか?

 A 
1a 
2b
3c
4d
5e
6f
7g
8h

例えば、3行ずつ削除し、4行目を残し、また3行を削除するという繰り返しなのですが、方法がわかりません。

セルは65536行全て対象にしたいのですが。。

大変申し訳ありませんが、ご教授お願いします><
9i

【34446】Re:フォルダ内のファイル読み込み方法
発言  inoue E-MAILWEB  - 06/2/2(木) 22:00 -

引用なし
パスワード
   ▼yuuka さん:
>図々のですが、もうふたつほど教えていただきたいことがあります。
先にご案内したURLは私のサイトなのですが、
ご案内した近所のページにCSVを含むテキストファイルの読み込み方法も
案内してあります。
CSVファイルはワークブックとして開くより
単なるテキストファイルとして処理した方が速いはずです。

特に、
>読み込んだファイルを以下のように一定のセル置きに削除する...
などと考えるなら、セルに展開させてから削除するよりも
レコード単位に読み込む処理の中で、
セルに書き込むのをスキップさせてしまえば良いわけです。

たくさん、ネタを挙げてあるので探して試してみて下さい。

【34447】Re:フォルダ内のファイル読み込み方法
発言  inoue E-MAILWEB  - 06/2/2(木) 22:03 -

引用なし
パスワード
   ところで、「たく」さんと「yuuka」さんは同一人物ですか?
私は他の掲示板にもおじゃまするのですが、
最近は「捨てHN」でしかもコロコロ変える人が多いようで
ちょっとイヤ気が差しています。

【34448】Re:フォルダ内のファイル読み込み方法
発言  yuuka  - 06/2/2(木) 22:17 -

引用なし
パスワード
   ▼inoue さん:
ありがとうございます。今色々みています。もしよければひとつ教えていただきたいのですが、今はフォルダを選択すると、中のファイルが一括で読み込めるようにしています。

その時、読み込むcsvファイルをテキストに変換する変数を使って読み込ませる事が可能でしょうか?

レコード単位での設定方法がいまいちわかりません。

>ところで、「たく」さんと「yuuka」さんは同一人物ですか?
>私は他の掲示板にもおじゃまするのですが、
>最近は「捨てHN」でしかもコロコロ変える人が多いようで
>ちょっとイヤ気が差しています。

そのとおりです。
ご迷惑かけてしまい、申し訳ありません。

【34449】Re:フォルダ内のファイル読み込み方法
回答  Hirofumi  - 06/2/2(木) 22:50 -

引用なし
パスワード
   3行ずつ読み飛ばし、4行目をのみ出力する例です
Testして居ないので上手く行かなかったらゴメン

Option Explicit

' アクティブなウィンドウのハンドルを取得する関数の宣言
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long

Public Sub CSVRead()
  
'  CSVデータの読み込み
  
  Const ForReading = 1

  Dim i As Long
  Dim lngCount As Long
  Dim rngWrite As Range
  Dim lngRow As Long
  Dim strPath As String
  Dim vntFileNames As Variant
  Dim vntField As Variant
  Dim strBuff As String
  Dim objFso As Object
  Dim objFileStr As Object
  Dim strProm As String
  
  '書き込む位置を設定
  Set rngWrite = ActiveSheet.Cells(1, "A")
  
  'FSOのオブジェクトを取得
  Set objFso = CreateObject("Scripting.FileSystemObject")
  
  '読み込むファイルのフォルダを設定
  strPath = GetFolderPath
  If strPath = "" Then
    strProm = "マクロがキャンセルされました"
    GoTo Wayout
  End If
  
  '指定フォルダからファイル名を取得
  If Not GetFilesList(vntFileNames, strPath, objFso, ".*", "csv") Then
    strProm = "ファイルが有りません"
    GoTo Wayout
  End If
  
  Application.ScreenUpdating = False
  
  For i = 1 To UBound(vntFileNames)
    'カウントの初期値設定
    lngCount = 1
    '指定ファイルを読み込みモードでOpen
    Set objFileStr = objFso.OpenTextFile(vntFileNames(i), ForReading)
    With objFileStr
      Do Until .AtEndOfStream
        'ファイルから1行読み込み
        strBuff = .ReadLine
        '4行目だけ出力
        If lngCount Mod 4 = 0 Then
          If strBuff <> "" Then
            'CSVをフィールドに分割
            vntField = Split(strBuff, ",")
            '指定シートの指定行列位置について
            With rngWrite.Offset(lngRow)
              'フィールドの書き込み
              .Resize(, UBound(vntField) + 1).Value = vntField
            End With
            '書き込み行位置を更新
            lngRow = lngRow + 1
          End If
        End If
        'カウントをインクリメント
        lngCount = lngCount + 1
      Loop
      'ファイルをClose
      .Close
    End With
  Next i
  
  strProm = "処理が完了しました"
  
Wayout:
  
  Application.ScreenUpdating = True
  
  Set objFileStr = Nothing
  Set objFso = Nothing
  Set rngWrite = Nothing
  
  MsgBox strProm, vbInformation
  
End Sub

Private Function GetFilesList(vntFileNames As Variant, _
              strFilePath As String, _
              objFso As Object, _
              Optional strNamePattan As String = ".*", _
              Optional strExtePattan As String = ".*") As Boolean
  
  Dim i As Long
  Dim objFiles As Object
  Dim objFile As Object
  Dim regExten As Object
  Dim regName As Object
  Dim vntRead() As Variant
  Dim strName As String

  'FSOのオブジェクトを取得
  Set objFso = CreateObject("Scripting.FileSystemObject")
 
  'フォルダの存在確認
  If Not objFso.FolderExists(strFilePath) Then
    GoTo Wayout
  End If

  'regExtenpのオブジェクトを取得(正規表現を作成)
  Set regExten = CreateObject("VBScript.RegExp")
  With regExten
    'パターンを設定
    .Pattern = strExtePattan
    '大文字と小文字を区別しないように設定
    .IgnoreCase = True
  End With
  Set regName = CreateObject("VBScript.RegExp")
  With regName
    'パターンを設定
    .Pattern = strNamePattan
    '大文字と小文字を区別しないように設定
    .IgnoreCase = True
  End With

  'フォルダオブジェクトを取得
  Set objFiles = objFso.GetFolder(strFilePath).Files

  'ファイルの数が0でなければ
  If objFiles.Count <> 0 Then
    For Each objFile In objFiles
      With objFile
        strName = .Path
        '検索をテスト
        If regExten.test(objFso.GetExtensionName(strName)) Then
          If regName.test(objFso.GetBaseName(strName)) Then
            i = i + 1
            ReDim Preserve vntRead(1 To i)
            vntRead(i) = strName
          End If
        End If
      End With
    Next objFile
  End If

  Set regExten = Nothing
  Set regName = Nothing

  If i <> 0 Then
    vntFileNames = vntRead
    GetFilesList = True
  End If

Wayout:

  'フォルダオブジェクトを破棄
  Set objFiles = Nothing
  Set objFile = Nothing
  
End Function

Private Function GetFolderPath() As String

  Dim strTitle As String
  Dim objFolder As Object
  Dim hwnd As Long
  Dim strTmpPath As String
  Const BIF_RETURNONLYFSDIRS = &H1
  Const ssfDESKTOP = &H0
  Const CSIDL_WINDOWS = &H24
  
  'アクティブなWindowのハンドルを取得
  hwnd = GetForegroundWindow
  ' 表示タイトルを指定
  strTitle = "フォルダを選択して下さい"
  ' フォルダ選択ダイアログを表示
  Set objFolder = CreateObject("Shell.Application"). _
              BrowseForFolder(hwnd, strTitle, _
                BIF_RETURNONLYFSDIRS, CSIDL_WINDOWS)
  ' フォルダを選択したときは
  If Not (objFolder Is Nothing) Then
    ' 選択フォルダを表示
    With objFolder
      ' 親フォルダが存在するときは
      If Not (.ParentFolder Is Nothing) Then
        ' 選択フォルダのフルパスを表示
        strTmpPath = .Items.Item.Path
      ' 親フォルダのときは
      Else
        ' フォルダ名を表示
        strTmpPath = .Title
      End If
    End With
    ' Folderオブジェクトを破棄
    Set objFolder = Nothing
  End If
  
  If strTmpPath <> "" And Right(strTmpPath, 1) <> "\" Then
    strTmpPath = strTmpPath & "\"
  End If

  GetFolderPath = strTmpPath
  
End Function

【34450】Re:フォルダ内のファイル読み込み方法
発言  yuuka  - 06/2/2(木) 23:01 -

引用なし
パスワード
   ▼Hirofumi さん:
早速試したところ、できました!ありがとうございます。

しかし、数値が文字列として保存されているため、グラフを作成する事ができません><

お手数かけますが、ご教授のほどお願いします。

【34497】Re:フォルダ内のファイル読み込み方法
回答  Hirofumi  - 06/2/3(金) 21:39 -

引用なし
パスワード
   以下のプロシージャを前のコードと同じ標準モジュールに入れて下さい
そして、「Public Sub CSVRead()」の中の以下を変更して下さい

          If strBuff <> "" Then
            'CSVをフィールドに分割
'            vntField = Split(strBuff, ",")
            vntField = SplitCsv(strBuff, ",") '★変更
            '指定シートの指定行列位置について

此れで、Split関数では無く、CSV読み込み専用のFunctionプロシージャが使われますので、
数値として扱われます

Private Function SplitCsv(ByVal strLine As String, _
            Optional strDelimiter As String = ",", _
            Optional strQuote As String = """", _
            Optional strRet As String = vbCrLf, _
            Optional blnMulti As Boolean) As Variant

'      strLine     :分割元と成る文字列
'      strDelimiter  :区切り文字
'      SplitCsv    :戻り値、切り出された文字配列

  Dim lngDPos As Long
  Dim vntData() As Variant
  Dim lngStart As Long
  Dim i As Long
  Dim vntField As Variant
  Dim lngLength As Long
  
  i = 0
  lngStart = 1
  lngLength = Len(strLine)
  blnMulti = False
  Do
    ReDim Preserve vntData(i)
    If Mid$(strLine, lngStart, 1) <> strQuote Then
      lngDPos = InStr(lngStart, strLine, _
            strDelimiter, vbBinaryCompare)
      If lngDPos > 0 Then
        vntField = Mid$(strLine, lngStart, _
                  lngDPos - lngStart)
        If lngDPos = lngLength Then
          ReDim Preserve vntData(i + 1)
        End If
        lngStart = lngDPos + 1
      Else
        vntField = Mid$(strLine, lngStart)
        lngStart = lngLength + 1
      End If
    Else
      lngStart = lngStart + 1
      Do
        lngDPos = InStr(lngStart, strLine, _
                strQuote, vbBinaryCompare)
        If lngDPos > 0 Then
          vntField = vntField & Mid$(strLine, _
                lngStart, lngDPos - lngStart)
          lngStart = lngDPos + 1
          Select Case Mid$(strLine, lngStart, 1)
            Case ""
              Exit Do
            Case strDelimiter
              lngStart = lngStart + 1
              Exit Do
            Case strQuote
              lngStart = lngStart + 1
              vntField = vntField & strQuote
          End Select
        Else
          blnMulti = True
          vntField = Mid$(strLine, lngStart) & strRet
          lngStart = lngLength + 1
          Exit Do
        End If
      Loop
    End If
    vntData(i) = vntField
    vntField = Empty
    i = i + 1
  Loop Until lngLength < lngStart
  
  SplitCsv = vntData()
  
End Function

【34539】Re:フォルダ内のファイル読み込み方法
お礼  yuuka  - 06/2/5(日) 22:09 -

引用なし
パスワード
   諸事情により、返事が遅くなり申し訳ありません。。

早速試した所、できました!!

ありがとうございます!!!

【34540】Re:フォルダ内のファイル読み込み方法
質問  yuuka  - 06/2/5(日) 22:20 -

引用なし
パスワード
   hirohumiさmmすいません。
もうひとつ教えていただきたところがあります。

それは、読み込み位置の表示なんですが、

  Set GetFileLsit = ActiveSheet.Cells(1, "A")
         With GetFileList
 
2行目から読み込ませたいのですが、上記コードではうまくいきません><

質どうやったらいいでしょうか?
問ばかりですいません。。。

【34571】Re:フォルダ内のファイル読み込み方法
回答  Hirofumi  - 06/2/6(月) 22:41 -

引用なし
パスワード
   >hirohumiさmmすいません。
>もうひとつ教えていただきたところがあります。
>
>それは、読み込み位置の表示なんですが、
>
>  Set GetFileLsit = ActiveSheet.Cells(1, "A")
>         With GetFileList
> 
>2行目から読み込ませたいのですが、上記コードではうまくいきません><
>
>質どうやったらいいでしょうか?
>問ばかりですいません。。。

此れは、どう言う意味ですか?
出力位置の話?
Csvファイルの読み出し位置の話ですか?

出力位置の変更なら、「Public Sub CSVRead()」の中の以下を変更して下さい

  Dim strProm As String
  
  '書き込む位置を設定
'  Set rngWrite = ActiveSheet.Cells(1, "A")
  Set rngWrite = ActiveSheet.Cells(2, "A") '★変更
  
  'FSOのオブジェクトを取得

Csvファイルの読み出し位置だと、4行目だけ出力の件との関係は?

【34602】Re:フォルダ内のファイル読み込み方法
お礼  yuuka  - 06/2/7(火) 23:16 -

引用なし
パスワード
   ▼Hirofumi さん:
>>hirohumiさmmすいません。
>>もうひとつ教えていただきたところがあります。
>>
>>それは、読み込み位置の表示なんですが、
>>
>>  Set GetFileLsit = ActiveSheet.Cells(1, "A")
>>         With GetFileList
>> 
>>2行目から読み込ませたいのですが、上記コードではうまくいきません><
>>
>>質どうやったらいいでしょうか?
>>問ばかりですいません。。。
>
>此れは、どう言う意味ですか?
>出力位置の話?
>Csvファイルの読み出し位置の話ですか?
>
>出力位置の変更なら、「Public Sub CSVRead()」の中の以下を変更して下さい
>
>  Dim strProm As String
>  
>  '書き込む位置を設定
>'  Set rngWrite = ActiveSheet.Cells(1, "A")
>  Set rngWrite = ActiveSheet.Cells(2, "A") '★変更
>  
>  'FSOのオブジェクトを取得
>
>Csvファイルの読み出し位置だと、4行目だけ出力の件との関係は?

すいません。こちらのいい間違いでした><

今やったらできました!!ありがとうございました!!!

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