0
我正在使用vbscript(.vbs文件)來執行讀取/寫入Excel的操作。腳本與多個Excel工作簿並行工作
該腳本將打開一個現有的excel文件並向其中讀取/寫入數據。
如果只有一個excel文件打開,那麼沒有問題。
但是,當腳本正在運行時,如果我打開另一個excel文件並專注於此新打開的文件,則該腳本將失敗並退出。
我正在使用工作簿的句柄讀/寫。樣本在下面。
Set xlobj = GetObject(, "Excel.Application")
Set wbobj = xlobj.Workbooks.Open(filename)
For iRow = FIRSTROW To LASTROW
With wbobj.Sheets(sheetname)
If .Range("B" & CStr(iRow)) = "FREE" Then
.Range("B" & CStr(iRow)).Font.Color = RGB(0, 0, 255)
.Range("D" & CStr(iRow)) = vbNullString
Else
.Range("B" & CStr(iRow)).Font.Color = RGB(255, 0, 0)
End If
End With
Next
需要你的幫助,如果有一種方法,使即使用戶正在使用不同的Excel工作簿和/或如果有更好的選擇去它的劇本工作。
謝謝。 B
您可能會考慮顯示腳本的其餘部分...... wbobj看起來是正確的,但可能還有其他您未公開的問題。 –
@DavidZemens,提供一種執行讀腳本的主要部分的快照/寫 '設置xlobj = GetObject的( 「Excel.Application」)' 集wbobj = xlobj.Workbooks.Open(文件名) 對於如果.Range(「B」&CStr(iRow))=「FREE」那麼 .Range(「B」&CStr(iRow))。Font.Color = RGB(0,0,255) .Range(「D」&CStr(iRow))= vbNullString ... Else .Range(「B」&CStr(iRow))。Font.Color = RGB(255 ,0,0) End If End With Next ... –
代碼屬於問題的主體。它在評論部分非常難以辨認... –