Hallo zusammen,
Ich lese aus hunderten Excel-Dateien immer jeweiles einen Wert aus. Dafür verwende ich bislang in VBA ein ExecuteExcel4Macro, das so ähnlich aufgerufen wird:
Es gibt zwar auch die Möglichkeit, eine Datei normal zu öffnen, den Wert auszulesen und dann wieder zu schließen. Dennoch dauert das sehr viel länger als das ExecuteExcel4Marco (zumindest bei nur einem auszulesenden Wert).
Die größe Frage wäre für mich noch: wie rufe ich diese Funktion von Visual Basic aus auf ???? Das müsste ja eigentlich gehen. Ich im Internet folgende Methode gesehen:
Anscheinend müsste ich dann beim Pfad irgendwie doppelte Ausführungszeichen setzen. So hat es auf jeden Fall nicht funktioniert.....
Kann mir hier jemand weiterhelfen ?
Vielen Dank,
Jens
Ich lese aus hunderten Excel-Dateien immer jeweiles einen Wert aus. Dafür verwende ich bislang in VBA ein ExecuteExcel4Macro, das so ähnlich aufgerufen wird:
Quellcode
- Private Function getValueFromFile(path As String, file As String, sheet As String, row As Integer, column As Integer) As String
- Dim arg As String
- arg = "'" & path & "[" & file & "]" & sheet & "'!" & Cells(row, column).Address(ReferenceStyle:=xlR1C1)
- getValueFromFile = ExecuteExcel4Macro(arg)
- End Function
Es gibt zwar auch die Möglichkeit, eine Datei normal zu öffnen, den Wert auszulesen und dann wieder zu schließen. Dennoch dauert das sehr viel länger als das ExecuteExcel4Marco (zumindest bei nur einem auszulesenden Wert).
Die größe Frage wäre für mich noch: wie rufe ich diese Funktion von Visual Basic aus auf ???? Das müsste ja eigentlich gehen. Ich im Internet folgende Methode gesehen:
Anscheinend müsste ich dann beim Pfad irgendwie doppelte Ausführungszeichen setzen. So hat es auf jeden Fall nicht funktioniert.....
Quellcode
- Private Function getValueFromFile(path As String, file As String, sheet As String, row As Integer, column As Integer) As String
- Dim arg As String
- arg = ""'" & path & "[" & file & "]" & sheet & "'!" & Cells(row, column).Address(ReferenceStyle:=xlR1C1)"
- getValueFromFile = xlApp.ExecuteExcel4Macro(arg)
- End Function
Kann mir hier jemand weiterhelfen ?
Vielen Dank,
Jens