Wenn Sie vbscript verwenden, und festlegen eines ADO-recordset in eine variable
Ich habe eine Menge von PDF-Dateien, die ich versuche zu benennen, basierend auf Kriterien in einer excel-Tabelle. Das Arbeitsblatt listet die ID, Nachname, Vorname.
| 123456 | Smith | Joe |
Kann ich öffnen und Lesen von excel problemlos erstellen von ado-Verbindung und eine Antwort erhalten auf meine Anfrage, kann aber nicht einen Weg finden, um die Teilnahme der Datensatzgruppe, die den Dateinamen enthält, und speichern Sie Sie als variable.
Den code, den ich verwende:(aktualisiert zum aktuellen Zeichensatz)
'On Error Resume Next
LetterDirectory = InputBox("What letter are we scanning?")
DirectoryLocation = "C:\CLNotes\"
LetterDirectory = UCase(LetterDirectory)
SubDirectory = DirectoryLocation & LetterDirectory
FullDirectory = DirectoryLocation & LetterDirectory & "\*.pdf"
'Creating Excel objects
Set xl = CreateObject("Excel.Application")
Set xlBook = xl.Workbooks.Open("c:\CLnotes\dbo_Patient.xlsx")
Set xlSheet = xlBook.Worksheets(LetterDirectory)
xl.Visible = True
'Set Variables
xlRow = 1
totalRows = xl.WorksheetFunction.CountA(xlSheet.Range("A:A"))
oldFilename = 0
For xlRow = 1 to totalRows
LastName = xlSheet.Cells.Item(xlRow, 2).text
FirstName = xlSheet.Cells.Item(xlRow, 3).text
FullName = LastName & " " & Firstname
newFilename = xlSheet.Cells.Item(xlRow, 1).Text
'FullName = "b lorraine"
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
objConnection.Open ("Provider=Search.CollatorDSO;Extended Properties='Application=Windows';")
objRecordSet.Open ("SELECT System.FileName FROM SYSTEMINDEX WHERE Contains('" & FullName & "')"), objConnection
objRecordSet.MoveFirst
oldFilename = objRecordset.Fields.Item("System.FileName")
Do Until objRecordset.EOF
Wscript.Echo objRecordset.Fields.Item("System.FileName")
objRecordset.MoveNext
Loop
Next
Dank.
InformationsquelleAutor fiercebeard | 2013-03-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
WENN
outputs", die Teil der Datensatzgruppe, die den Dateinamen enthält' (Sie interessiert) UND
war bei Ihrem Versuch, mit "speichern [, Wert], als variable' DANN
wird Ihr problem lösen, weil
Set
verwendet werden, die für die Zuordnung von Objekten (nicht 'plain' Datentypen wie strings).Dass
Set var = non-object
ist die Ursache Ihrer Schwierigkeiten - wie ich annehme - wird verborgen, indem Ihre Nutzung der BÖSEN globalenOn Error Resume Next
.InformationsquelleAutor Ekkehard.Horner