<< Click to Display Table of Contents >> Navigation: Windows > Core System > Scripting |
Fragen und Antworten zum Thema OMNITRACKER Windows ↦ Core System ↦ Scripting:
Fehlermeldung: ActiveX Komponente kann kein Objekt erstellen
(OtAut.Application
)
Wenn Sie eine VBS-Datei auf einem 64-bit-System starten, wird diese standardmäßig im 64-bit- Teilsystem ausgeführt.
Wird dazu die 32-bit-OtAut.dll
genutzt, so führt dies zu Fehlermeldungen.
Um das Skript im 32-bit-Teilsystem auszuführen, starten Sie es bitte wie folgt:
C:\WINDOWS\SysWOW64\wscript.exe "MeinScript.vbs"
OnOpen
-Skript des Formulars nehmen Sie bitte folgende Zeile auf:myControl.object.Session = ActiveSession
OnChange
Skript:If TabControl.CurrentPage.Name = "MeinTabname" Then
Set objFolder = ActiveSession.RequestFolders("<FolderName>")
Set objFilt = objFolder.MakeFilter
Set objFilt.UserField("<Feld-ImRef-Folder>") = ActiveRequest
myControl.object.Clear
myControl.object.Filter = objFilt
myControl.object.UpdateAllRequests
End If
OnClick
-Script für einen Print-Button, der das geöffnete Objekt
drucken soll?
Das OnClick
-Script für den Print-Button sollte die folgenden 3 Schritte durchführen:
.DOC
bzw. .PDF
Files in dem lokalen Dateisystem des Clients:Set WshShell = CreateObject("WScript.Shell")
TempFileName = WshShell.ExpandEnvironmentStrings("%Temp%") & "\TempOtReport.doc"
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists(TempFileName) Then fs.DeleteFile TempFileName, True
Set objFld = ActiveSession.RequestFolders("MyFolder")
Set objTask = objFld.Tasks("MyTask")
Set objReqs = objFld.CreateRequestList
objReqs.AddExisting ActiveRequest
ErrStr = objTask.Execute (objReqs, TempFileName, 2) '1=Pdf, 2=Word
.DOC
file):If ErrStr = "" Then
Set msWord = CreateObject("Word.Application")
msWord.Documents.Open(TempFileName)
msWord.Application.PrintOut
msWord.Quit
set msWord = Nothing
Else
MsgBox "Error: " & ErrStr
End If
.PDF
file):strCommand = """%ProgramFiles%\Adobe\Reader 10.0\Reader\AcroRd32.exe"" /t " & TempFileName
WshShell.Run strCommand, 0, True
If fs.FileExists(TempFileName) Then fs.DeleteFile TempFileName, True