- Код: Выделить всё
Option Explicit
Dim oFSO, oFile, sPDF, sText, aResult, lTmp1, lTmp2, iMax
sPDF = WScript.Arguments(0)
Set oFSO = CreateObject("Scripting.FileSystemObject")
With oFSO
'быстрый поиск
Set oFile = .OpenTextFile(sPDF, 1, False, 0)
For lTmp2 = 0 To 12
sText = oFile.Readline()
lTmp1 = InStr(sText, "/N ")
If lTmp1 > 0 Then Exit For
Next
If lTmp1 > 0 Then
sText = Right(sText, Len(sText) - (lTmp1 + 2))
lTmp2 = InStr(sText, "/") - 1
If lTmp2 > 0 Then sText = Left(sText, lTmp2)
iMax = CInt(sText)
'медленный поиск
Else
Set oFile = Nothing: Set oFile = .OpenTextFile (sPDF, 1, False, 0)
Do Until oFile.AtEndOfStream
sText = oFile.Readline()
aResult=Split(sText, "/Count ")
For lTmp1 = 1 To UBound(aResult)
lTmp2 = Instr(aResult(lTmp1), vbCr) - 1
If lTmp2 < 0 Or lTmp2 > Instr(aResult(lTmp1), "/") - 1 Then lTmp2 = Instr(aResult(lTmp1), "/") - 1
If lTmp2 > 0 Then sText = Trim(Left(aResult(lTmp1), lTmp2)) Else sText = Trim(aResult(lTmp1))
If IsNumeric(sText) Then lTmp2 = CInt(sText) Else lTmp2 = 0
If iMax < lTmp2 Then iMax = lTmp2
Next
Loop
End If
If iMax = 0 Then iMax = 2022
MsgBox iMax
WScript.Quit iMax
End With
Из командной строки он запускается нормально с аргументом командной строки
wscript d:\Basic\Background\GetMaxPage.vbs d:\Basic\PDFы\Eff_hack.pdf
Мне нужно запускать его из программы(VB6) и каким-то малозатратным образом организовать обратную связь, чтобы получить результат, длинное целое.
Естественно выполнение скрипта никак не должно "подвешивать" мою основную программу. Пожалуйста подскажите как это сделать наилучшим образом.