2017-01-16 6 views
-1

私は以下のVBAコードは、これらのワークブックのすべてのセルC15からの電子メールアドレスを取得し、そのように列Uに追加し、列Gvbaは複数のブックから値を取得します。

Folder\File1.xls 
Folder\File2.xls 
Folder\File3.xls 
Folder\File4.xls 

を下に記載されている他のブックとワークブックがあります。

Folder\File1.xls   Email 
Folder\File2.xls   Email 
Folder\File3.xls   Email 
Folder\File4.xls   Email 

これは私のコードです。

'//Email copy code 

Dim startCell As Range, fileRng As Range 
Dim files As Variant, values() As Variant, values2() As Variant 
Dim path As String, file As String, arg As String 
Dim r As Long, i As Long 

'Acquire the names of your files 
With ThisWorkbook.Worksheets(1) 'amend to your sheet name 
    Set startCell = .Range("G17") 'amend to start cell of file names 
    Set fileRng = .Range(startCell, .Cells(.Rows.Count, startCell.Column).End(xlUp)) 
End With 
files = fileRng.Value2 

'Size your output array 
ReDim values(1 To UBound(files, 1), 1 To 1) 


'Populate output array with values from workbooks 
For r = 1 To UBound(files, 1) 
    'Create argument to read workbook value 
    i = InStrRev(files(r, 1), "\") 
    path = Left(files(r, 1), i) 
    file = Right(files(r, 1), Len(files(r, 1)) - i) 
    arg = "'" & path & "[" & file & "]Sheet1'!R15C3" 
    'Acquire the value 
    values(r, 1) = ExecuteExcel4Macro(arg) 

Next 


'Write values to sheet 
fileRng.Offset(, 20).Value = values 

このコードは自宅の私のラップトップコンピュータで動作します。しかし、職場では、私のIT部門はCMDやその他のシェル機能の使用を無効にしています。このコードは、このコードがワークブックの価値を引き出すために使用すると考えています。

この結果、このコードはC15列の値を取得しません。

誰でも私に回避策を教えてもらえますか?おかげ

+2

私はあなたに昨日与えたコードのようなコードを見ています(http://stackoverflow.com/questions/41637137/vba-get-email-address-from-each-workbook-in-a)。 〜範囲/ 41657368#41657368) - 少なくともあなたのソースを参照する必要があります。もう1つは、2つの答えが2つしかないうちに2つの質問に7つの質問がありますが、このサイトがどのように動作するかはわかりません。おそらく、あなたは他の人に求めているすべての仕事に対して、ある程度の猶予を示すべきです。 – Ambie

答えて

0

どのようにこの回避策について:

arg = path & "[" & file & "]Sheet1'!R15C3" 
'Acquire the value 
values(r, 1) = arg 
'values(r, 1) = ExecuteExcel4Macro(arg) 

うこの作品?それは何を生み出すのですか?それは何を生み出すべきですか?

+0

これは動作しないようです。それは私にワークブックからのセルC15から電子メールアドレスを与える必要があります。代わりに、あなたのコードは私にワークブックのパスを与えています。 – user7415328

+0

'G:\ BUYING \ Food Specials \ 2。計画\ 3。確認と配信\アナウンス\ 2017 \ KW11 \ Multy \ [Multy KW11.17.xlsx] Sheet1 '!R15C3 – user7415328

+0

もう一度お試しいただけますか? :) – Vityata

関連する問題