Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: my head am 20.05.03 - 12:49:07
-
hallo!
hab zwei agenten, die manuell gestartet wunderbar arbeiten... sie sollten aber eigentlich nach erstellen bzw ändern eines doks anspringen... tun sie aber nicht... woran könnte das liegen??
-
Hi,
wir brauchen ein paar mehr Infos, Code, Fehlermeldung, eingestellte Agentoptionen etc.
Axel
-
das ist es ja keine fehlermeldung... der agent wird einfach nicht ausgeführt!! und am code kann's eigentlich nicht liegen, weil er ja manuell funktioniert...
einstellung: "wenn dok geändert oder erstellt wurde"
Sub Initialize
'****************************************************************************************************
'VARIABLEN
'****************************************************************************************************
'EXCEL-DATEI
Dim xlFilename As String
'**************************************************************
'Excel-Export-Datei
xlFilename = "C:\test1.xls"
'**************************************************************
Dim Excel As Variant
Dim xlWorkbook As Variant
Dim xlSheet As Variant
Dim row As Integer
Dim column As Integer
Dim lva As String
Print "Verbindung zu Excel wird aufgebaut..."
Set Excel = CreateObject( "Excel.Application.9" )
Excel.Visible = False '// Excel unsichtbar machen
Excel.Workbooks.Open xlFilename 'Excel-Datei öffnen
Set xlWorkbook = Excel.ActiveWorkbook
Set xlSheet = xlWorkbook.ActiveSheet
column = -1
'LOTUS_NOTES
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim entry As NotesViewEntry
Set db = session.CurrentDatabase
Set view = db.GetView("uebersicht")
Set collection = view.AllEntries
Set entry = collection.GetFirstEntry
Set doc = entry.Document
'*****************************************************************************************************
'****************************************************************************************************
'EXCEL-INHALTE LÖSCHEN
'****************************************************************************************************
Excel.Range(xlSheet.Cells(1,1),xlSheet.Cells(70,112)).Select
Excel.Selection.Font.Bold = False
Excel.Selection.Value = ""
'****************************************************************************************************
'****************************************************************************************************
'EINLESEN:
'****************************************************************************************************
'EinleseSchleife
While Not (entry Is Nothing)
lva = doc.txtLva(0)
row = 1
column = column + 2
With xlSheet
.Cells(row,column).Select
Excel.Selection.Font.Bold = True
.Cells(row,column).Value = doc.txtLVA(0)
row = row +1
While (lva = doc.txtlva(0))
.Cells(row,column ).Value = doc.txtNachname(0)&" "&doc.txtVorname(0)
.Cells(row,column+1 ).Value = doc.nmbTel(0)
Set entry = collection.GetNextEntry(entry)
row = row +1
If (entry Is Nothing) Then
Goto DONE
Else
Set doc = entry.Document
End If
Wend
End With
DONE:
Wend
'*******************************************************************************************************
'Excel-Verbindung trennen
'*******************************************************************************************************
Print "Verbindung zu Excel wird getrennt..."
xlWorkbook.Close True
Excel.Quit '// Close Excel
Set Excel = Nothing 'den Speicher leeren
Print " " 'Statuszeile löschen
'*******************************************************************************************************
End Sub
-
Hi,
dass er getriggert ausgeführt werden soll, hast du im Agent eingestellt. Davon gehe ich mal aus, oder ?
Wo wird der Agent denn ausgeführt. Auf dem Server? Wenn ja ist dort Excel installiert ?
Axel
-
nein?!? was ist getriggert? :-[
er wird lokal ausgeführt...
-
Hi,
getriggert heißt, dass er durch ein Ergeignis gestartet, z.B. wenn ein neues Mail ankommt, oder dass er zeitgesteuert läuft, z.B. täglich um 5.00 Uhr.
hab zwei agenten, die manuell gestartet wunderbar arbeiten... sie sollten aber eigentlich nach erstellen bzw ändern eines doks anspringen... tun sie aber nicht... woran könnte das liegen??
Das sind getriggerte Agents. ES muss bei "Wann soll der Agent gestartet werden" die Option "Wenn Dokumente erstellt oder geändert wurden" eingestellt werden.
Axel
-
das ist schon klar...
aber genau mit der option passiert eben nichts...
und ich weiß nicht warum, ich dachte es gäbe noch irgendwas anderes zu beachten...
-
Hi,
die beiden einzigsten Dinge die dabei zu beachten sind, ist dass die Option wann er gestaertet werden soll richtig eingestellt ist und, das ist sehr wichtig, keine Frontend-Klassen (NotesUIDocument usw.) benutzt werden.
Wenn die Sache lokal laufen soll, dann überprüfe doch mal in den Benutzervorgaben die Startoptionen. Ist die Option "Lokale periodische Agenten aktivieren" gesetzt? Wenn nein setze sie mal und starte den Client neu.
Axel
-
bin langsam total ratlos, auch diese maßnahme hat nicht weiter geholfen... :(
-
Hi,
mir gehen auch so langsam die Ideen aus. :-\
Vielleicht hat noch jemand eine Idee.
Axel
-
hast Du das Sript ins Query Save der Maske geschrieben oder wo steht es drin?
-
das ist einfach ein agent... wird der nicht automatisch aufgerufen? muss ich den dann noch ins querysave der maske schreiben?
-
;) ja, wenn Du möchtest, daß bei
- jedem Speichvorgang eines Dokumentes
etwas passiert, zB diese Excel Geschichte.
Speichern eines Docs = "triggered" (löst aus) das Event Query Save in der gegebenen Maske
Da kann man es zB reinschreiben.