1
Excel 스프레드 시트에있는 기준에 따라 이름을 바꾸려고하는 PDF 파일이 많습니다. 스프레드 시트에는 ID, 성, 이름이 나열됩니다.vbscript를 사용하여 ADO 레코드 세트를 변수로 설정
| 123456 | Smith | Joe |
나는 열고 고급 엑셀에서 읽고 ADO 연결을 만들 수 있습니다 내 쿼리에 대한 응답을 얻을 수 있지만, 파일 이름을 포함하는 레코드의 참여와 변수로 저장하는 방법을 찾을 수 있습니다 .
내가 사용하고 코드 : (현재의 코드 세트로 업데이트)
'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
감사합니다.
나는 실제로 그것을 세트로 그리고 세트없이 시험해 보았지만, 나를 붙들고있는 주된 것은 악의적 인 에러 검사 때문에 보이지 않는 것이라고 생각한다. 나는 그 부분을 무력화 한 이후로 실제로 무슨 일이 일어나는지를 볼 수 있습니다. 실제로 objRecordset.Open 쿼리에서 멈추고 있습니다. "(null) (32, 1) : (null)"을 출력하고 있습니다. – fiercebeard