VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/10/30(Thu) 00:59
投稿者のど
Eメール
URL
タイトル2回目が・・・

はじめまして,のどです.
XPでVB6.0を使っています.

最近VBでエクセルのマクロを使い始めたのですが,
テキスト形式の数値データをエクセルで読み込んで処理したいと思っています.
いま,リストボックスにファイルをドラッグ&ドロップしてきて,ボタンを押したら
処理するようにしています.なんとか思うようにできたのですが,1度実行して処理した後,
続けて同じ処理を行うと,思うような結果が出力されません.

こんな感じです.

Private Sub Command1_Click()

  Const num = 13

  Dim File_Name(1 To num) As String
  
  'ファイル名格納
  For i = 1 To num
    File_Name(i) = File_List.List(i - 1)
  Next i
  
  Dim xlApp As Excel.Application
  Dim xlBook As Excel.Workbook
  Dim xlSheet As Excel.Worksheet

  Set xlApp = CreateObject("Excel.Application")
  Set xlBook = xlApp.Workbooks.Add
  Set xlSheet = xlBook.Worksheets(1)
  
  xlApp.Visible = True
  
  Dim xlBook3 As Excel.Workbook
  Dim xlSheet3 As Excel.Worksheet
  
  Set xlBook3 = xlApp.Workbooks.Open(File_Name(3))  'オープンするファイル名
  Set xlSheet3 = xlBook3.Worksheets(1)
  
  With xlSheet3
    .Columns("A:A").Select
    xlApp.Selection.TextToColumns Destination:=.Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True
    .Range("A1").Select
    .Range(Selection, Selection.End(xlDown)).Select
    .Range(Selection, Selection.End(xlToRight)).Select
  End With

  With xlApp
    .Selection.Copy
    .Windows("Book1").Activate
    .Range("B2").Select
    .ActiveSheet.Paste
  End With
  
  Clipboard.Clear
  xlBook3.Close SaveChanges:=False
  Set xlBook3 = Nothing
  Set xlSheet3 = Nothing
  
  xlSheet.Range("A1").Select
  
  Set xlBook = Nothing
  Set xlSheet = Nothing
  Set xlApp = Nothing
  
  File_List.Clear
  
End Sub

どのようにすればよいのでしょうか?
よろしくお願いします.


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -