Board logo

標題: [發問] 取得外部excel儲存格資料內容的方法 [打印本頁]

作者: roy1221    時間: 2013-2-4 20:44     標題: 取得外部excel儲存格資料內容的方法

我在網上拼湊了下面的代碼,Cells(i, 1)及Cells(i, 2)可正常列印,
可是在Cells(i, 3) = Workbooks(.SelectedItems(i)).Sheets("Sheet1").Range("A15").Value
無法正常讀取存至Cells(i, 3) ,請問高手是那裡出錯了
或者其它辨法取得,

製作主要的要求是:
1.選取資料夾中的*.xls或*.xlsx
2.列印所選的xls中的Sheet1 儲存格,共約60格(全部"文字格式"表示(如日期、時間、數字),也有空白格),全部不相鄰,將其變成陣列,再以陣列方式列印成 5列*12欄
  1. Sub Test()
  2. Columns("A:C").ClearContents
  3. With Application.FileDialog(msoFileDialogFilePicker)
  4.         .InitialFileName = "C:\Users\使用者\Desktop\"           '指定初始路徑
  5.         .AllowMultiSelect = True                                '開啟複選功能
  6.         .Show
  7.         For i = 1 To .SelectedItems.Count
  8.             Cells(i, 1) = CreateObject("Scripting.FileSystemObject").GetParentFolderName(.SelectedItems(i)) & "\"          '檔案路徑(含日文)
  9.             Cells(i, 2) = CreateObject("Scripting.FileSystemObject").GetFileName(.SelectedItems(i))                      '檔案名稱(含日文)
  10.             
  11.             Cells(i, 3) = Workbooks(.SelectedItems(i)).Sheets("Sheet1").Range("A15").Value                         '無法成功讀取
  12.             
  13.     'MsgBox CreateObject("Scripting.FileSystemObject").GetFileName(.SelectedItems(i))                        '檔案名稱
  14.     'MsgBox CreateObject("Scripting.FileSystemObject").GetParentFolderName(.SelectedItems(i)) & "\"          '檔案路徑    '(如果是必需的,你可以自己補最後的「\」)
  15.             
  16.         Next
  17.     End With
  18. End Sub
複製代碼

作者: GBKEE    時間: 2013-2-5 15:58

回復 1# roy1221
  1. Option Explicit
  2. Sub Test()
  3.     Dim i As Integer
  4.     Columns("A:C").ClearContents
  5.     With Application.FileDialog(msoFileDialogFilePicker)
  6.         .InitialFileName = "C:\Users\使用者\Desktop\"           '指定初始路徑
  7.         .AllowMultiSelect = True                                '開啟複選功能
  8.         .Show
  9.         For i = 1 To .SelectedItems.Count
  10.             Cells(i, 1) = CreateObject("Scripting.FileSystemObject").GetParentFolderName(.SelectedItems(i)) & "\"          '檔案路徑(含日文)
  11.             Cells(i, 2) = CreateObject("Scripting.FileSystemObject").GetFileName(.SelectedItems(i))
  12.             Cells(i, 3) = CreateObject(.SelectedItems(i)).Sheets("Sheet1").Range("A15").Value                         '
  13.             CreateObject(.SelectedItems(i)).Close        '** 關閉檔案
  14.             'MsgBox CreateObject("Scripting.FileSystemObject").GetFileName(.SelectedItems(i))                        '檔案名稱
  15.             'MsgBox CreateObject("Scripting.FileSystemObject").GetParentFolderName(.SelectedItems(i)) & "\"          '檔案路徑    '(如果是必需的,你可以自己補最後的「\」)
  16.         Next
  17.     End With
  18. End Sub
複製代碼

作者: roy1221    時間: 2013-2-5 18:06

謝謝,已經完成所要的所有功能了




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)