Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
676to680
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
676to680
676to680
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel im Hintergrund öffnen

Excel im Hintergrund öffnen
07.10.2005 14:54:27
Michael
Ich habe ein Makro geschrieben, welches mir in einem bestimmten Verzeichnis alle darin enthaltenen Excel-Sheets einzel öffnet, ein Wert heraus kopiert und die Mappe wieder schliesst.
Mein Problem:
Momentan befinden dich ca. 300 files im Verzeichnis. Bei einem Makroaufruf, welches dann ja alle 300 Files öffnet und wieder schliesst dauert das recht lange......
Ist es möglich, im Background, ohne das File wirklich zu öffnen, einen Wert aus einer bestimmten Zelle auszulesen?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel im Hintergrund öffnen
07.10.2005 14:59:53
Matthias
Hallo Michael,

'VBA Function to Get a Value From a Closed File
'VBA does not include a method to retrieve a value from a closed file. You can, however, take advantage of Excel's ability to work with linked
'files.
'This tip contains a VBA function that retrieves a value from a closed workbook. It does by calling an XLM macro.
'The GetValue Function
'The GetValue function, listed below takes four arguments:
'path: The drive and path to the closed file (e.g., "d:\files")
'file: The workbook name (e.g., "99budget.xls")
'sheet: The worksheet name (e.g., "Sheet1")
'ref: The cell reference (e.g., "C4")
Function GetValue(path, file, sheet, ref)
' Retrieves a value from a closed workbook
Dim arg As String
' Make sure the file exists
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If
' Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
' Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)
End Function

Aufruf z.B.

i = GetValue("C:\test", "test1.xls", "Tabelle1", "A1")

Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige