Excel VBA質問箱 IV

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

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


19166 / 76734 ←次へ | 前へ→

【63004】Re:VBAでCSVを連結してをXLSで保存
質問  YUKI  - 09/9/30(水) 17:48 -

引用なし
パスワード
   前回の続きでわからないことがあって困ってます
前回の処理にシートを追加してCSVファイルを連結したのを入れる処理を加えたいのですがうまくいかずエラーが起きます
わかる方いれば教えてください

Sub CSV結合してBookへ出力()
  Dim fs As Object, fd As FileDialog
  Dim fStr As String, fName As Variant, i As Integer
  Dim iz As Long
  
  Set fd = Application.FileDialog(msoFileDialogFilePicker)

  With fd
  
    .AllowMultiSelect = True
    .Title = "データ選択(ファイル参照)"
    .Filters.Add "テキストファイル", "*.csv"
    If .Show = 0 Then Exit Sub
    If .SelectedItems.Count < 2 Then
      MsgBox "データを複数選んでください"
      Exit Sub
    End If
  End With
 
 
  Set fs = CreateObject("Scripting.FileSystemObject")
 
  iz = fd.SelectedItems.Count
  For i = 1 To iz
    With fs.OpenTextFile(fd.SelectedItems(i), 1)
      fStr = fStr & .ReadAll
      .Close
    End With
  Next i
 
  fName = Replace(LCase(fd.SelectedItems(iz)), ".csv", "$.csv")
  With fs.CreateTextFile(fName)
    .Write fStr
    .Close
    
  End With
 
  
  Dim WS As Worksheet
  Set WS = Workbooks.Add(6).Worksheets(1)
  テキストファイルのインポート fName, WS
 
  fName = Application.GetSaveAsFilename( _
    InitialFileName:="ファイル.xls", _
    FileFilter:=",*.xls")
    
  If fName = False Then Exit Sub
  Application.EnableEvents = False
  ActiveWorkbook.SaveAs fName, FileFormat:=xlNormal
  Application.EnableEvents = True
End Sub
Sub シートを追加してそこにインポート()'ここから追加した処理でうまくいきま                   せん
  Dim fs2 As Object, fd2 As FileDialog
  Dim fStr2 As String, fName2 As Variant, i2 As Integer
  Dim iz2 As Long

  Set fd2 = Application.FileDialog(msoFileDialogFilePicker)

  With fd2

    .AllowMultiSelect = True
    .Title = "データ選択(ファイル参照)"
    .Filters.Add "テキストファイル", "*.csv"
    If .Show = 0 Then Exit Sub
    If .SelectedItems.Count < 2 Then
      MsgBox "データを複数選んでください"
      Exit Sub
    End If
  End With
 

  Set fs2 = CreateObject("Scripting.FileSystemObject")
  
  iz2 = fd2.SelectedItems.Count
  For i2 = 1 To iz2
    With fs.OpenTextFile(fd.SelectedItems(i2), 1)
      fStr2 = fStr2 & .ReadAll
      .Close
    End With
  Next i2
 
  fName2 = Replace(LCase(fd2.SelectedItems(iz2)), ".csv", "$.csv")
  With fs2.CreateTextFile(fName)
    .Write fStr2
    .Close
  
  End With


  Dim WS As Worksheet
   Set WS = Worksheets.Add(After:=Worksheets(1))
 
 
  fName = Application.GetSaveAsFilename( _
    InitialFileName:="ファイル.xls", _
    FileFilter:=",*.xls")
    
  If fName2 = False Then Exit Sub
  Application.EnableEvents = False
  ActiveWorkbook.SaveAs fName, FileFormat:=xlNormal
  Application.EnableEvents = True
End Sub


Sub テキストファイルのインポート(CSVname, ByVal WS As Worksheet)
 With WS
  With .QueryTables.Add(Connection:= _
    "TEXT;" & CSVname, Destination:=WS.Range("A1"))
    .Name = "foo"
    .FieldNames = True
    .AdjustColumnWidth = True
    .TextFilePlatform = 932
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
    WS.Names(.Name).Delete
    .Delete

7 hits

【62965】VBAでCSVを連結してをXLSで保存 YUKI 09/9/28(月) 0:52 質問
【62967】Re:VBAでCSVを連結してをXLSで保存 kanabun 09/9/28(月) 9:02 発言
【62968】Re:VBAでCSVを連結してをXLSで保存 kanabun 09/9/28(月) 9:37 発言
【62973】Re:VBAでCSVを連結してをXLSで保存 YUKI 09/9/28(月) 15:37 発言
【62974】Re:VBAでCSVを連結してをXLSで保存 kanabun 09/9/28(月) 16:55 発言
【62975】Re:VBAでCSVを連結してをXLSで保存 kanabun 09/9/28(月) 17:45 発言
【62976】Re:VBAでCSVを連結してをXLSで保存 YUKI 09/9/28(月) 18:35 お礼
【62977】Re:VBAでCSVを連結してをXLSで保存 kanabun 09/9/28(月) 18:49 発言
【62978】Re:VBAでCSVを連結してをXLSで保存 YUKI 09/9/28(月) 18:53 お礼
【62980】Re:VBAでCSVを連結してをXLSで保存 kanabun 09/9/29(火) 0:11 発言
【62987】Re:VBAでCSVを連結してをXLSで保存 YUKI 09/9/29(火) 18:53 お礼
【63004】Re:VBAでCSVを連結してをXLSで保存 YUKI 09/9/30(水) 17:48 質問
【63006】Re:VBAでCSVを連結してをXLSで保存 kanabun 09/9/30(水) 19:32 発言
【63007】Re:VBAでCSVを連結してをXLSで保存 kanabun 09/9/30(水) 19:35 発言
【63008】Re:VBAでCSVを連結してをXLSで保存 kanabun 09/9/30(水) 19:52 発言
【63047】Re:VBAでCSVを連結してをXLSで保存 YUKI 09/10/4(日) 6:04 お礼

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