BOSS 7 y'' #':'{"' ' 1'" -< 1(G (6(E(9( (!( ( B0(( \?(&( v(6( ( (,(72 )({)(k2(( ()(  %(" (  ) )/)/V> \)W%) 4) ) )+) ) *+p , 4&, ,N5, h-  ,Z < 44 ,t$,  4-3"-5*.O9 !8$/i/( #*! r7!56!! ,)q6 $D+  -?-2<#+L .$fo< -.8 /' . A/. ",[>%u 7+5:6, j1P" $("%+7E-#<y$y< ## <;:*3$T9  n$$?^+"&//%!5%)% c% 8% } %  I% V 1 pc,};(0 3+U #1%&$21 G a&>(>X 7{5 K.. r &* ! = @3% M41 5$  :j !( 0  B?6,\'P;"*gv6 ^8' 7< #9 4' 2'k S )* P.' F/ +`>%E/' 5'  L!+;M ' o1 r+('' 07'  TJ4-d6 _!' 3 %:6?* y0 ?Y9 s '0 %+  ?9&4n!5 4 :Nh,*T ~$;<#g)2C (,7w]n=.8%; l! ! '! :! 6! T! ! n-!*8" :*#" !" -  /  I)0G?a'c8'"{6:'""-V=<<#*V 2 }-+ p },  20 R4) /  $>8%1 > /K/  "e>:%  31 5 4d!&+@  *:Z"0 Jt19 /(  (|+0( ( O -i<6 :)* #"qD*^9  x=10W' 4) ? &5S2 5 Om,*;9#i! ) 0.2Hc(  /'b7?| I63 .$#  =%W4=?*q:*'2 0!LD6 6!   , x <'-#A< #22u[ #  9$ ) ^0 Q6f'?  S) 86 m8P/+57 .> H j>%% 45b W3.  +2+E *: q _" )y19  U": (9 B$  T9 " n"< 7$7 3; # (c9 }y= 0 + E$?7&>_.I*5/X;r,#/32 MQg7(>k& =!B%   ,, \4vF;+":!#7 ` $0 5(.Q 1 z ?k'(6!+-,- \3 vF<#*`   2 ?6z# " )" ! 28"; o>%U/ @ &+ 81J'd"' -~1   ' 1,Y-s(=  "$ K;3e 41?7%(N*& h90-)?&C<]5w,G$  !82 a3 { * R"9(l 7<.#- /$= 0 k#;G% V > p& a4 {5,+8~:7":  '!< R0lV60?5p'46K<1-#N)  ! ) h8  / &8)>@ %Z/C t>&% 4&5 0 2e ]  w+5+O::-i"6 0 Z.1  ,Y*(s< :7D7>-x^=f& 3$9 5 m9!  ',  A;0".?[ &15bH(  u) |, S*   ( ;##7 =26.z j= W($q47, 8=2L%. f4 +m+':!A : u'!  " .1  H6'6-b6#j P<) 2 |*  ?[0  - #)+<8E =$-Q _/u& x y>&/ > 5% -:9T:+n"Z!1 t0 !c  '  56-} =$O$ ,>3)X* i*  ?I7r9/( ; #   20*-3?.&,M e=  5g$ 4, );2(#NB2 \v8(h+ =!Q% : )1  k4C'+],:!)F 6* 0 "7.` w  -?z'6<-! (.;- >U<# !Q?!) X!"J !/! ,! >  r" & 80" ?%529"Y !  " 0"1" 4(""N7" 3" h ?"- M'" = "$" C"3) g6" ]* """0""8?!w9 " & -"R" ","";l5 " -# (<" G2 #" B "a" 8{(s":"+2"< \ " v)"p4 " 8"+  "1: "!"e0K 7/" ? "' V%=&6.Q>"@- % k "# 4"Pt 3Z<" 5  +" ,"i/ :"> F""& "*5 `1"D"_3""y+"^: #x" z# 1O 8)(#  !7#m #-#$#. = ;#3 -#H#b* U# |9 <# !##=?#&#0 o$# W #5#,##;q 3#2# # #fL2 #( 0*##'#. 8 #A J9#=#u4# [% # d#+#!#P 6: /#0 ~#j? ?# ' &###E-#+6 %#_< 5#### #)3y ?#: #8#n/##>#&T Y,# #/5#+#c#:I s;#}" ## ##>($1 # 2#X7#-rS7=9(# 3 4 (# N#g*M3!9$7# (0 h #& .#\5 #v =#,B?;)%# C4#k #(Q287#]#. * w# `% :# z4=F,!#  0#U 8#o0?!;:'!+?# 0 R' # l6#d<#J- 3~ 6o #?#!8#Y #  081"&1 V1K(1 /1 !1 p111 11s/>)% -Joops.OfficeTalk.ProcessExportCore.Array@processworkersscriptspermissionsmissingWorkers "Joops.OfficeTalk.ProcesspersistentObjectdirtynamedescriptionlogicalNamefirstStepLinkcurrentStepLinkprocessDatapriorityyellowDelayredDelaywaitingLinkquestionLinkhistorylayout.26:>BFJNRVZ^bf*?jJoops.OfficeTalk.ProcessNameparentglobalCategoryglobalNamecategorynamevz~rn"zVertriebOfficeTalkCore.Textstringruns Der Geschftsprozess regelt den Vertrieb von OfficeTalk von der Akquise bis zum SupportCore.RunArrayrunsvaluescacheRuncacheRunStart_Joops.OfficeTalk.FirstStepdirectioncontainerparentJoops.UML.BidirectionalLinkJoops.OfficeTalk.StepContainerparentdomain  fJoops.OfficeTalk.StepbearbeiterLinkparentLinkstepResultLinkstartActionLinktermActionLinkuserActionLinkprocessTimeprocessOptiondescriptionhistoryuseCurrentWorkersymbolName.26*.26:>BFJNRV&?ZJoops.OfficeTalk.StepNamevz~bf^zJ>vb KontaktErfassungjnrvJoops.OfficeTalk.AssignedWorker~Joops.UML.UnidirectionalLinkJoops.UML.ZeroOrOneContainer nJoops.OfficeTalk.StepOwner#Joops.OfficeTalk.StepOwnerContainercontainercontainerPolicy*nCore.OrderedCollectionfirstIndexlastIndex @withAll:Joops.OfficeTalk.StepResultnextStepLinkparentLinkstartAt.26Joops.OfficeTalk.StepResultNamevz~*BVersand Joops.OfficeTalk.NextStep"&.*nJoops.OfficeTalk.StepResultOwner26:>FBnJoops.OfficeTalk.StartZeitparenttypeOfTimedurationdateAndTimeweekDaymonthDayNRVZ^bJfdurationJoops.OfficeTalk.ZeitDauerparentdayshoursminutessecondsvz~rjnJoops.OfficeTalk.ZeitPunktdatetimevCore.Datedayyear [Core.Timehoursminutesseconds;#Joops.OfficeTalk.TagDerWochedaytime v;#Joops.OfficeTalk.TagDesMonatsv;# Joops.UML.OrderedContainerPolicy"&Joops.OfficeTalk.StepResults.2Joops.OfficeTalk.StepResultContainer>B6:nV^cancelNR"ZN^nv"Rvz~ErfassungAbbruchjbfjrzbv~bN6bFJoops.OfficeTalk.StartActions#Joops.OfficeTalk.StartActionContainerbJoops.OfficeTalk.EndActionsJoops.OfficeTalk.EndActionContainerbJoops.OfficeTalk.UserActions Joops.OfficeTalk.UserActionContainer.b"&*Joops.OfficeTalk.BearbeitungsZeitparentestimatedTimeconsumedTimestartTimetermTime 6:>BF2JNbVZfrRRS?oR^bS?oRjnmandatoryDer Vorgang wird beendet, weil der Kontakt an OfficeTalk nicht mehr interessiert ist.image^b:NnjNnS?o?o?o jrkontaktieren "b^J:v^:InteressentKontaktierenjB Neukontakt": jn"*2SGG&G.6":>6FV^fnInteressiertNR"Z^N^nv6vZInfomaterialVersandbfjrzbv~bRInfomaterial"b:N^ &vJ" InteressentNachfassen Nachfassen":^ vInfomaterialEvaluation*2Evaluation"":&.*jn6BJR2SK#c2:>K#c2FK#c2N^frzEvaluationVZ"bjVf:nvVrjVn~zSG'zG'zG' z V 6FJoops.OfficeTalk.UserActionprocessTimeresourceLinkscriptNamedefaultResultsymbolNameexecutionprocessOptionnoResultOverwrite.26 #/Joops.OfficeTalk.ActionNamevz~"&:>~vVersendenEvaluation*.26N.BFR^>>SC>JNSC>VZJoops.OfficeTalk.AssignedResourcesbfJoops.OfficeTalk.ResourceContainerrvjn."z~Joops.Scripting.ScriptName vz~EvaluationNachfassen .mailImage.NSG'SG'An den Kontakt wird die Evaluationsversion per Post versandt. Dazu wird ein vorbereitetes Anschreiben verwendet. Im nchsten Arbeitsschritt wird der Termin zum Nachfassen wird notiert.jn SG[G[G[ *2Wiedervorlage"":&.*jn6BJR2SG2:>G2FG2N^frb NachfassenVZ"bjVf:n^ V^ 6 vZ " InteressentPrsentationjvz~v~ vNochmal"v:vjnS+c+c+c Prsentation"v: jn   &  SGK   GK  GK " 2 : F N Prsentation* . "6 > * : v:B J * F j* nR ^ f n N SGoN V Z GoN b GoN j * r "v z 6 vV F  v  v  2 v    " vBeratungPrsentation*  N  SGS{ SGS{ j  z  Prsentation Nachfassen   talkImage &  * . Nv: > J V 6 6 SGo6 B F SGo6 N R Der Kontakt (Interessent) wnscht eine Prsentation. Der Terrmin dazu wird vereinbart und im nchten Arbeitsschritt wird der Termin zum Nachfassen vermerkt.rvjVnf r z b SGb j n Gb v G b ~  Nachfassen  "  : bj n SG G  G  V  " 6  R Z nicht Interessiert   " J ^   z " vF ~InteressentAbsagej       r & . : B nicht Interessiert " "* 2  . :6 >  : j nF R Z b B SKB J N KB V K B ^  f  j n 6v Fz ~    "      ~vAbsageErfassen*  N  S?_ S?_ j z AbsageErfassen       N & * 6 B " " SK" . 2 SK" : > Der Kontakt (Interessent) hat abgesagt. Der Vorgang wird beendet. Die Informationen werden fr eine sptere Auswertung notiert. :N V R j n^ j r z Z SKZ b f KZ n K Z v  RZAuftrag~  " J~ ^ vBFInteressentProduktkaufj    ~  " 6 ~  FNGekauft   " > ^  b z v6:SupportOfficeTalk    Z   " * Support  "    : &  " j n. : B J * kSKs* 2 6 Ks* > Ks* F  N  R V 6^ r  f Fb j n v z ~      vSupportErgebnis*  N  [C [C j z Support  dialogImage "  N &2SK/"SK/*.Fr OfficeTalk wird ein Supportvorgang abgewickelt. i.d.R. ist das das Zusenden des neuen Updates. Aber natrlich werden auch Fragen zu OfficeTalk behandelt.askImage :BJ F j nR^fnNkSK/NVZK/NbK/ Nj rF vz    vAuftragErstellen*NS/S/j"zAuftragGekauft writeImageN "&2>SGK*.SGK6:Der Interessent ist zum Kunden geworden. Er hat OfficeTalk gekauft. Dazu wird das Warenwirtschaftssystem (BS-Kontor) zum Erstellen des Auftrages gestartet.giveImage :NV~ Rj~ n^jrzZSGKZbfGKZnGK Zv  ~ ~"F " :vKontaktNachfassen*NSSKSSKjzNachfassenWiedervorlage  "N*.:F&&SG&26SG&>B Nach eine vorangegangenen Arbeitsschritt (Prsentation, Versand Evaluatuion oder Infomaterial) wird das Ergebnis des Nachfassens qualifiziert. Das kann sein: Auftrag, Wiedervorlage, Prsentation, Versand Evaluation, Versand Informationsmaterial, nicht interessiertjnVbjrRSK+;RZ^K+;RfK+; RnNvz~6b Fbb2b"vVersendenInfomaterial*NSSWgSSWgj"z InfomaterialNachfassen  &*.Nb:>JV66SGs6BFSGs6NRAn den Kontakt wird Informationsmaterial per Post oder per eMail versandt. Dazu wird ein vorbereitetes Anschreiben oder eine vorbereitete eMail verwendet.^b:bjNfjNnr~nSGsnvzGsnGs nN V* FJ6 & vAktivittErfassen*NS?S?j"z AktivittErfassenNeukontakt " *.2N>BNZ::SG/:FJSG/:RVDer Kontakt wird hier bearbeitet. Das Ergebnis der Kontaktierung ist ein Erneutkontakt, Informaterial senden, Testversion senden, eine Prsentation oder das Beenden des Vorgangs, weil der Kontakt nicht mehr interessiert ist. :fnjnjnvrSG/rz~G/rG/ rNFJnn:n"* vAdresseErfassen*NS?S?j "zInteressentErfassenkontaktieren & .26NnBFR^>>SG_>JNSG_>VZ.Der Arbeitsschritt erfasst den Erstkontakt mit der Kontaktquelle. Die Adressdaten und der Ursprung des Kontakts wird erfasst. Der zustzliche Name des Vorgangs wird mit dem Ansprechparter des Kontakt belegt, damit der Vorgang innerhalb einer Liste von vielen Vorgngen besser identifiziert werden kann."nJoops.OfficeTalk.CurrentStep#jnrv~zJoops.Scripting.Scriptmethods.26InteressentErfassenJoops.Scripting.ScriptMethodSourcesourcestartMethodarguments.26Joops.Scripting.ScriptMethodNamevz~ErfassenaErfassen Dim name As String Dim entry As String Dim sep As String Dim adressdata As String entry = Call OfficeTalkTools.AdressName If Call Erfassen.Kontakt ( True ) = True Then name = process.logicalName If IsEmpty( name ) = True Then process.logicalName( processdata.item( "company", in: entry ) ) Else process.logicalName( name & ": " & processdata.item( "company", in: entry ) ) End If sep = ChrB( 13 ) adressdata = processdata.item( "company", in: entry ) & sep & processdata.item( "firstname", in: entry ) & sep & processdata.item( "surname", in: entry ) & sep & processdata.item( "street", in: entry ) & sep & processdata.item( "zip", in: entry ) & " " & processdata.item( "town", in: entry ) & sep & processdata.item( "phone", in: entry ) step.comment( adressdata ) Return "kontaktieren" Else Return "cancel" End If OfficeTalkOfficeTalkToolsFormatDateTimeKFormatDateTime ( dialog As ScriptDialog, anActionName As String, aDateName As String, aTimeName As String ) 'Sets the format of date and time in dialog depending wether date ande time is past 'and answers wether past. An offset is added to date and time depending on the selected 'action 'in the field anActionName in the dialog ' 'Return: Boolean True (date/time is in the past) ' False (date/time is not in the past) Dim theDate As Date Dim theTime As Time Dim theNextDateTime As Array Dim theNextDate As Date Dim theNextTime As Time theNextDateTime = Call OfficeTalkTools.NextDateTime ( dialog, anActionName ) If IsEmpty( theNextDateTime ) = True Then theNextDate = Date theNextTime = Time Else theNextDate = theNextDateTime( 0 ) theNextTime = theNextDateTime( 1 ) End If theDate = dialog.value( aDateName ) theTime = dialog.value( aTimeName ) If IsEmpty( theDate ) = True Then dialog.format( aDateName, with: "d.mmmm yyyy" ) dialog.format( aTimeName, with: "h:mm" ) If IsEmpty( theNextDateTime ) = False Then dialog.put( aDateName, value: theNextDateTime( 0 ) ) dialog.put( aTimeName, value: theNextDateTime( 1 ) ) End If Return False Else If Call OfficeTalkTools.PastDateTime ( Date, theDate, Time, theTime ) = True Then dialog.format( aDateName, with: "[RED]d.mmmm yyyy" ) dialog.format( aTimeName, with: "[RED]h:mm" ) Return True Else If Call OfficeTalkTools.PastDateTime ( theNextDate, theDate, theNextTime, theTime ) = True Then dialog.format( aDateName, with: "[ORANGE]d.mmmm yyyy" ) dialog.format( aTimeName, with: "[ORANGE]h:mm" ) Return True Else dialog.format( aDateName, with: "[GREEN]d.mmmm yyyy" ) dialog.format( aTimeName, with: "[GREEN]h:mm" ) Return False End If End If End If ScriptDialogStringStringString *.2AdressName"&AdressName Return "adress">BRNextDateTime6:NextDateTime ( dialog As ScriptDialog, anActivityName As String ) 'Answers the next date for the requested activity in anActivityName 'The waiting offset is defined here for each action type ' 'Return: Array (Date, Time) Dim theNextActivity As String Dim theActivitiesNames As Array Dim theWaitings As Array Dim i As Integer theNextActivity = dialog.value( anActivityName ) If IsEmpty( theNextActivity ) = True Then Return Null Else theActivitiesNames = Array( "Kontaktieren", "Infomaterial senden", "Testversion senden", "Prsentation", "nicht Interessiert", "auftrag", "wiedervorlage", "prsentation", "evaluation", "information", "nichtinteressiert" ) theWaitings = Array( 3, 4, 5, 0, 0, 0, 3, 0, 5, 4, 0 ) For i = 0 To 10 Step 1 If theActivitiesNames( i ) = theNextActivity Then Exit For End If Next If theWaitings( i ) = 0 Then Return Null Else Return Array( Date + theWaitings( i ), Time ) End If End If ScriptDialogStringFJN^bzPastDateTimeVZ)PastDateTime ( aMinDate As Date, aDate As Date, aMinTime As Time, aTime As Time ) 'Answers wether aDate and aTime is in the past 'aMinDate and aMinTime define the past ' 'Return: Boolean True : is lower than aMinDate and aMinTime If IsEmpty( aDate ) Or ( IsEmpty( aTime ) = True ) Then Return False Else If aDate < aMinDate Then Return True Else If aDate > aMinDate Then Return False Else If aTime < aMinTime Then Return True Else Return False End If End If End If End If DateDateTimeTimefjnrvSetDateTime~SetDateTime ( dialog As ScriptDialog, anActionName As String, aDateName As String, aTimeName As String ) 'Sets the next date and time in dialog depending wether the selected action 'in the field anActionName in the dialog Dim theNextDateTime As Array Dim theNextDate As Date Dim theNextTime As Time theNextDateTime = Call OfficeTalkTools.NextDateTime ( dialog, anActionName ) If IsEmpty( theNextDateTime ) = True Then theNextDate = Date theNextTime = Time Else theNextDate = theNextDateTime( 0 ) theNextTime = theNextDateTime( 1 ) End If dialog.format( aDateName, with: "d.mmmm yyyy", value: theNextDate ) dialog.format( aTimeName, with: "h:mm", value: theNextTime )ScriptDialogStringStringStringActivityNameActivityName Return "activity"ValidateKontaktInputValidateKontaktInput ( dialog As ScriptDialog ) 'Verify, that all data and the propper source is typed into dialog ' ' Return: Boolean (true: all is typed in) ' (false: some data not typed in) Dim count As Integer Dim answer As Integer Dim source As String source = dialog.value( "source" ) If IsEmpty( source ) = True Then MsgBox( "Bitte geben Sie die Quelle an" ) Return False Else If ( source = "Veranstaltung" ) Or ( ( source = "Messe" ) Or ( source = "Empfehlung" ) ) Then If IsEmpty( dialog.value( "sourcename" ) ) = True Then MsgBox( "Bitte benennen Sie die Quelle", , vbExclamation ) Return False End If End If End If count = 0 If IsEmpty( dialog.value( "source" ) ) = False Then count = count + 1 End If If IsEmpty( dialog.value( "company" ) ) = False Then count = count + 1 End If If IsEmpty( dialog.value( "firstname" ) ) = False Then count = count + 1 End If If IsEmpty( dialog.value( "sex" ) ) = False Then count = count + 1 End If If IsEmpty( dialog.value( "surname" ) ) = False Then count = count + 1 End If If IsEmpty( dialog.value( "street" ) ) = False Then count = count + 1 End If If IsEmpty( dialog.value( "zip" ) ) = False Then count = count + 1 End If If IsEmpty( dialog.value( "town" ) ) = False Then count = count + 1 End If If IsEmpty( dialog.value( "phone" ) ) = False Then count = count + 1 End If If IsEmpty( dialog.value( "email" ) ) = False Then count = count + 1 End If If count < 10 Then answer = MsgBox( "Sie haben nicht alle Kontaktinformationen angegeben. Ist das so in Ordnung", vbYesNo, vbQuestion ) If answer = 2 Then Return False End If End If Return TrueScriptDialog"6V~RErfassenVersicherung Versicherung 'Die Art der abzuschlieenden Versicherung wird erfasst ' 'Arguments: 'Returns: Dim gesellschaften As Array Dim arten As Array Dim typen As Array Dim dialog As ScriptDialog Dim gesellschaft As String Dim typ As String Dim art As String gesellschaften = Array( "Mnchner Verein", "Alte Leipziger", "Allianz", "HUK Mannheimer" ) arten = Array( "gewerblich", "privat" ) typen = Array( "Person", "Sach" ) dialog = New Joops.Scripting.ScriptDialog dialog.title( "Versicherung beschreiben" ) dialog.addList( gesellschaften, named: "gesellschaft", width: 150, height: 40, label: "Gesellschaft:" ) dialog.addList( arten, named: "art", width: 150, height: 40, label: "Art:" ) dialog.addList( typen, named: "typ", width: 150, height: 40, label: "Typ:" ) dialog.addInput( processdata.item( "umsatz", in: "versicherung" ), named: "umsatz", width: 100, label: "Umsatz:" ) dialog.addInput( processdata.item( "courtage", in: "versicherung" ), named: "courtage", width: 100, label: "Courtage:" ) dialog.addText( processdata.item( "kommentar", in: "versicherung" ), named: "kommentar", width: 300, height: 100, label: "Kommentar:" ) dialog.addAcceptButton dialog.build dialog.format( Array( "umsatz", "courtage" ), as: "Decimal" ) dialog.select( "gesellschaft", value: processdata.item( "gesellschaft", in: "versicherung" ) ) dialog.select( "art", value: processdata.item( "art", in: "versicherung" ) ) dialog.select( "typ", value: dialog.value( "typ" ) ) dialog.help( "gesellschaft", with: "Whlen Sie die Gesellschaft, bei der dieVersicherung abgeschlossen werden soll" ) dialog.help( "typ", with: "Whlen Sie den Versicherungstyp ausl" ) dialog.help( "art", with: "Whlen Sie die Versicherungsart aus" ) dialog.help( "umsatz", with: "Tragen Sie hier den gettigten Umsatz ein" ) dialog.help( "courtage", with: "Tragen Sie hier die daraus resultierende Courtage ein" ) dialog.help( "kommentar", with: "Was mu fr die Versicherung noch bercksichtigt werden" ) dialog.open gesellschaft = dialog.value( "gesellschaft" ) If IsEmpty( gesellschaft ) = True Then typ = "(unbekannt)" End If art = dialog.value( "art" ) If IsEmpty( art ) = True Then typ = "(unbekannt)" End If typ = dialog.value( "typ" ) If IsEmpty( typ ) = True Then typ = "(unbekannt)" End If processdata.item( "gesellschaft", with: gesellschaft, in: "versicherung" ) processdata.item( "art", with: art, in: "versicherung" ) processdata.item( "typ", with: typ, in: "versicherung" ) processdata.item( "umsatz", with: dialog.value( "umsatz" ), in: "versicherung" ) processdata.item( "courtage", with: dialog.value( "courtage" ), in: "versicherung" ) processdata.item( "kommentar", with: dialog.value( "kommentar" ), in: "versicherung" ) step.comment( dialog.value( "kommentar" ) )Kunde rKunde 'Der Interessent/Kunde fr den Versicherungsabschlu wird erfasst oder koplettiert ' 'Arguments: 'Returns: String Das Arbeitsschrittergebnis Dim woherListe As Array Dim dialog As ScriptDialog woherListe = Array( "aus Mailing", "Empfehlung", "Kaltkontakt" ) dialog = New Joops.Scripting.ScriptDialog dialog.title( "Interessent/Kunde erfassen oder komplettieren" ) dialog.addList( woherListe, named: "woher", width: 180, height: 40, label: "Woher:" ) dialog.addInput( processdata.item( "firma", in: "kundenadresse" ), named: "firma", width: 200, label: "Firma:" ) dialog.addInput( processdata.item( "vorname", in: "kundenadresse" ), named: "vorname", width: 200, label: "Vorname:" ) dialog.addInput( processdata.item( "nachname", in: "kundenadresse" ), named: "nachname", width: 200, label: "Nachname:" ) dialog.addInput( processdata.item( "strasse", in: "kundenadresse" ), named: "strasse", width: 200, label: "Strasse:" ) dialog.addInput( processdata.item( "plz", in: "kundenadresse" ), named: "plz", width: 100, label: "Plz:" ) dialog.addInput( processdata.item( "ort", in: "kundenadresse" ), named: "ort", width: 200, label: "Ort:" ) dialog.addInput( processdata.item( "bundesland", in: "kundenadresse" ), named: "bundesland", width: 200, label: "Bundesland:" ) dialog.addInput( processdata.item( "kreis", in: "kundenadresse" ), named: "kreis", width: 200, label: "Kreis:" ) dialog.addInput( processdata.item( "gebdatum", in: "kundenadresse" ), named: "gebdatum", width: 100, label: "Geb-Datum:" ) dialog.addInput( processdata.item( "kinder", in: "kundenadresse" ), named: "kinder", width: 50, label: "Kinder:" ) dialog.addGroupBox( Array( "mnnlich", "weiblich" ), named: "Geschlecht" ) dialog.addRadioButton( "mnnlich", named: "mnnlich", group: "geschlecht" ) dialog.addRadioButton( "weiblich", named: "weiblich", group: "geschlecht" ) dialog.addGroupBox( Array( "verh", "ledig", "geschieden" ), named: "Familienstand" ) dialog.addRadioButton( "verh.", named: "verh", group: "stand" ) dialog.addRadioButton( "ledig", named: "ledig", group: "stand" ) dialog.addRadioButton( "geschieden", named: "geschieden", group: "stand" ) dialog.addText( processdata.item( "kommentar", in: "kundenadresse" ), named: "kommentar", width: 300, height: 100, label: "Kommentar:" ) dialog.addAcceptButton dialog.buildWithColumns( 2 ) dialog.build dialog.help( "woher", with: "Whlen Sie die Quelle des Kontaktes aus" ) dialog.help( "firma", with: "Geben Sie hier den Firmennamen an" ) dialog.help( "vorname", with: "Geben Sie hier den Vornamen des Antragstellers an" ) dialog.help( "nachname", with: "Geben Sie hier den Nachnamen des Antragstellers an" ) dialog.help( "strasse", with: "Geben Sie hier den Strassennamen und die Hausnummer an" ) dialog.help( "plz", with: "Geben Sie hier die Postleitzahl an" ) dialog.help( "ort", with: "Geben Sie hier den Wohnort des Antragstellers an" ) dialog.help( "bundesland", with: "Geben Sie hier das Bundesland an" ) dialog.help( "kreis", with: "Geben Sie hier den Lankreis an" ) dialog.help( "gebdatum", with: "Das Geburtsdatum des Antragstellers" ) dialog.help( "kinder", with: "Die Anzahl der Kinder des Antragstellers" ) dialog.help( "mnnlich", with: "Der Antragsteller ist mnnlich" ) dialog.help( "weiblich", with: "Der Antragsteller ist weiblich" ) dialog.help( "verh", with: "Der Antragsteller ist verrheirated" ) dialog.help( "ledig", with: "Der Antragsteller ist ledig" ) dialog.help( "geschieden", with: "Der Antragsteller ist geschieden" ) dialog.help( "kommentar", with: "Noch wichtige Informationen zur Person" ) dialog.format( "gebdatum", as: "Date" ) dialog.format( "kinder", as: "Number" ) dialog.select( "woher", value: processdata.item( "woher", in: "kundenadresse" ) ) dialog.select( "stand", value: processdata.item( "stand", in: "kundenadresse" ) ) dialog.select( "geschlecht", value: processdata.item( "geschlecht", in: "kundenadresse" ) ) dialog.open processdata.item( "woher", with: dialog.value( "woher" ), in: "kundenadresse" ) processdata.item( "firma", with: dialog.value( "firma" ), in: "kundenadresse" ) processdata.item( "vorname", with: dialog.value( "vorname" ), in: "kundenadresse" ) processdata.item( "nachname", with: dialog.value( "nachname" ), in: "kundenadresse" ) processdata.item( "strasse", with: dialog.value( "strasse" ), in: "kundenadresse" ) processdata.item( "plz", with: dialog.value( "plz" ), in: "kundenadresse" ) processdata.item( "ort", with: dialog.value( "ort" ), in: "kundenadresse" ) processdata.item( "bundesland", with: dialog.value( "bundesland" ), in: "kundenadresse" ) processdata.item( "kreis", with: dialog.value( "kreis" ), in: "kundenadresse" ) processdata.item( "gebdatum", with: dialog.value( "gebdatum" ), in: "kundenadresse" ) processdata.item( "kinder", with: dialog.value( "kinder" ), in: "kundenadresse" ) processdata.item( "stand", with: dialog.value( "stand" ), in: "kundenadresse" ) processdata.item( "geschlecht", with: dialog.value( "Geschlecht" ), in: "kundenadresse" ) processdata.item( "kommentar", with: dialog.value( "kommentar" ), in: "kundenadresse" ) step.comment( "Informationen zur Person:" & dialog.value( "kommentar" ) ) Return "erfasst"&*6Kontakt" Kontakt ( writeMode As Boolean ) 'The interest is filled and recorded in the process data ' 'Return: Boolean True: filled out ' False: aborted Dim entryName As String Dim dialog As ScriptDialog Dim complete As Boolean Dim done As Boolean complete = True entryName = Call OfficeTalkTools.AdressName dialog = New Joops.Scripting.ScriptDialog dialog.title( "Kontakt erfassen oder komplettieren" ) dialog.addList( Array( "Empfehlung", "Hoppenstedt", "Messe", "IT-Zeitung", "Internet", "SoftGuide", "Veranstaltung", "Werbung" ), named: "source", width: 200, height: 80, horizontalScroll: True, label: "Quelle:" ) dialog.addInput( processdata.item( "sourcename", in: entryName ), named: "sourcename", width: 200, label: "Quellenname:" ) dialog.addInput( processdata.item( "company", in: entryName ), named: "company", width: 200, label: "Firma:" ) dialog.addComboBox( processdata.item( "sex", in: entryName ), choices: Array( "Frau", "Herr" ), named: "sex", width: 80, label: "Anrede:" ) dialog.addInput( processdata.item( "firstname", in: entryName ), named: "firstname", width: 200, label: "Vorname:" ) dialog.addInput( processdata.item( "surname", in: entryName ), named: "surname", width: 200, label: "Nachname:" ) dialog.addInput( processdata.item( "street", in: entryName ), named: "street", width: 200, label: "Strae:" ) dialog.addInput( processdata.item( "zip", in: entryName ), named: "zip", width: 100, label: "Plz:" ) dialog.addInput( processdata.item( "town", in: entryName ), named: "town", width: 200, label: "Ort:" ) dialog.addInput( processdata.item( "phone", in: entryName ), named: "phone", width: 200, label: "Telefon:" ) dialog.addInput( processdata.item( "email", in: entryName ), named: "email", width: 200, label: "eMail:" ) If writeMode = True Then dialog.addActionButton( "If Call OfficeTalkTools.ValidateKontaktInput ( dialog ) = True Then dialog.accept End If ", named: "Speichern", width: 100, default: True ) Else dialog.addAcceptButton End If dialog.build dialog.select( "source", value: processdata.item( "source", in: entryName ) ) If writeMode = False Then dialog.disable( Array( "source", "sourcename", "company", "sex", "firstname", "surname", "street", "zip", "town", "phone", "email" ) ) End If done = dialog.open If writeMode = True Then If done = True Then processdata.item( "source", with: dialog.value( "source" ), in: entryName ) processdata.item( "sourcename", with: dialog.value( "sourcename" ), in: entryName ) processdata.item( "company", with: dialog.value( "company" ), in: entryName ) processdata.item( "firstname", with: dialog.value( "firstname" ), in: entryName ) processdata.item( "sex", with: dialog.value( "sex" ), in: entryName ) processdata.item( "surname", with: dialog.value( "surname" ), in: entryName ) processdata.item( "street", with: dialog.value( "street" ), in: entryName ) processdata.item( "zip", with: dialog.value( "zip" ), in: entryName ) processdata.item( "town", with: dialog.value( "town" ), in: entryName ) processdata.item( "phone", with: dialog.value( "phone" ), in: entryName ) processdata.item( "email", with: dialog.value( "email" ), in: entryName ) Return True Else Return False End If End If Boolean.2BFJAktivitt:>Aktivitt 'Next activity is asked. The date is preset to next week ' 'Return: String Next action Dim dialog As ScriptDialog Dim activity As String Dim activityDate As Date Dim activityTime As Time Dim result As String Dim entryName As String Dim comment As String Dim maxString As Integer Dim maxComment As Integer Dim maxChar As Integer Dim dateChanged As Boolean dateChanged = False entryName = Call OfficeTalkTools.ActivityName dialog = New Joops.Scripting.ScriptDialog dialog.title( "Nchste Aktivitt" ) dialog.addList( Array( "Kontaktieren", "Infomaterial senden", "Testversion senden", "Prsentation", "nicht Interessiert" ), named: "activity", width: 200, height: 80, horizontalScroll: True, label: "Aktion:" ) dialog.addSpinInput( activityDate, named: "activityDate", width: 120, label: "am:", readOnly: False ) dialog.addText( "", named: "comment", width: 400, height: 200, label: "Bemerkung:" ) dialog.addActionButton( "stepscheduler.openHistory", named: "Historie", width: 100 ) dialog.addActionButton( "Call Erfassen.Kontakt ( True )", named: "Kontakt", width: 100 ) dialog.addActionButton( "activity = dialog.value( ""activity"" ) If IsEmpty( activity ) = True Then MsgBox( ""Bitte Aktion whlen"" ) Else activityDate = dialog.value( ""activityDate"" ) activityTime = dialog.value( ""activityTime"" ) If ( ( activityDate = Date ) And ( activityTime <= Time ) ) Or ( activityDate < Date ) Then MsgBox( ""Startzeit liegt vor jetzt"" ) Else dialog.accept End If End If ", named: "OK", width: 100, default: True ) dialog.build dialog.addLabel( "um:", left: 190, top: 95 ) dialog.addSpinInput( activityTime, named: "activityTime", left: 220, top: 90, width: 60, readOnly: False ) Call OfficeTalkTools.SetDateTime ( dialog, "activity", "activityDate", "activityTime" ) dialog.addAction( "dateChanged = True Call OfficeTalkTools.FormatDateTime ( dialog, ""activity"", ""activityDate"", ""activityTime"" )", named: "activityDate" ) dialog.addAction( "dateChanged = True Call OfficeTalkTools.FormatDateTime ( dialog, ""activity"", ""activityDate"", ""activityTime"" )", named: "activityTime" ) dialog.addAction( "If dateChanged = True Then MsgBox( ""Achtung Datum und Uhrzeit wird wieder gendert"", ( 1 ) ) End If dateChanged = False Call OfficeTalkTools.SetDateTime ( dialog, ""activity"", ""activityDate"", ""activityTime"" )", named: "activity" ) maxString = processdata.maxCharString maxComment = step.maxCharComment If maxString < maxComment Then maxChar = maxString Else maxChar = maxComment End If dialog.limit( "comment", maxChar: maxChar ) dialog.disableCancel dialog.open activity = dialog.value( "activity" ) activityDate = dialog.value( "activityDate" ) activityTime = dialog.value( "activityTime" ) processdata.item( "activityDate", with: activityDate, in: entryName ) processdata.item( "activityTime", with: activityTime, in: entryName ) processdata.item( "activity", with: activity, in: entryName ) comment = dialog.value( "comment" ) processdata.item( "comment", with: comment, in: entryName ) step.comment( comment ) If activity = "Infomaterial senden" Then result = "Interessiert" Else If activity = "Kontaktieren" Then result = "Neukontakt" stepscheduler.startDate( activityDate, time: activityTime ) stepscheduler.defineStartDate Else If activity = "Testversion senden" Then result = "Evaluation" Else If activity = "Prsentation" Then result = activity stepscheduler.startDate( activityDate, time: activityTime ) stepscheduler.defineStartDate Else result = activity End If End If End If End If Return result :NVZjAktivittErfassenbfvz~ErfassennrErfassen Dim action As String action = Call Erfassen.Aktivitt Return actionnbInfomaterialPostPost 'Send infomaterials with post 'Return: String: the text or null Library "..\Library\Microsoft Word Small" Dim WinWord As SmallCOM.Word.Application Dim documents As SmallCOM.Word.Documents Dim document As SmallCOM.Word.Document Dim bookmarks As SmallCOM.Word.Bookmarks Dim fileName As String Dim entryName As String Dim sex As String Dim firstname As String Dim surname As String Dim dialog As ScriptDialog Dim text As String entryName = Call OfficeTalkTools.AdressName dialog = New Joops.Scripting.ScriptDialog dialog.title( "Der Brieftext" ) dialog.addText( "", named: "text", width: 450, height: 200, label: "Text:" ) dialog.addAcceptButtonDefault( True ) dialog.build dialog.limit( "text", maxChar: step.maxCharComment ) dialog.disableCancel dialog.open text = dialog.value( "text" ) fileName = Array( CurDir, "\..\JOOPS Vorlagen\Write.doc" ) Try WinWord = New SmallCOM.Word.Application End Try Catch MsgBox( "Microsoft-Word Bibliothek ist nicht geladen", , vbCritical ) Return Null End Catch WinWord.visible( True ) documents = WinWord.documents document = documents.open( fileName ) bookmarks = document.bookmarks sex = Call Text.Variable ( "sex", entryName ) firstname = Call Text.Variable ( "firstname", entryName ) surname = Call Text.Variable ( "surname", entryName ) Call Text.Ersetzen ( bookmarks, "company", Call Text.Variable ( "company", entryName ) ) Call Text.Ersetzen ( bookmarks, "sex", sex ) Call Text.Ersetzen ( bookmarks, "firstname", firstname ) Call Text.Ersetzen ( bookmarks, "surname", surname ) Call Text.Ersetzen ( bookmarks, "street", Call Text.Variable ( "street", entryName ) ) Call Text.Ersetzen ( bookmarks, "zip", Call Text.Variable ( "zip", entryName ) ) Call Text.Ersetzen ( bookmarks, "town", Call Text.Variable ( "town", entryName ) ) Call Text.Ersetzen ( bookmarks, "salutation", sex & " " & surname ) Call Text.Ersetzen ( bookmarks, "text", text ) Call Text.Drucken ( WinWord, document ) Call Text.Close ( WinWord ) Return textVersandVersand 'Send the material with eMail or by postal office Dim data As Array If MsgBox( "Soll das Informationsmaterial per eMail gesandt werden", vbYesNo, vbQuestion ) = 1 Then data = Call Infomaterial.Mail If IsNull( data ) = False Then step.comment( "eMail: " & data( 0 ) & Chr( 13 ) & data( 1 ) ) End If Else data = Call Infomaterial.Post If IsNull( data ) = False Then step.comment( "Infomaterial Postversand:" & Chr( 13 ) & data ) End If End If Return "Nachfassen"MailCore.GapStringstringgapStartgapSize Mail 'Send infomaterials with email ' 'Returns: Array (subject, text) ' NULL Dim dialog As ScriptDialog Dim fileDialog As FileDialog Dim mail As Mail Dim filename As String Dim sender As String Dim receiver As String Dim subject As String Dim text As String Dim entryName As String Dim sex As String Dim title As String entryName = Call OfficeTalkTools.AdressName sex = processdata.item( "sex", in: entryName ) If sex = "Herr" Then text = "Sehr geehrter Herr " Else text = "Sehr geehrte Frau " End If text = text & processdata.item( "surname", in: entryName ) & "," & Chr( 13 ) & Chr( 13 ) dialog = New Joops.Scripting.ScriptDialog dialog.title( "Informationsmaterialversand per E-ail" ) dialog.addInput( worker.adress.eMail, named: "sender", width: 195, label: "Absender:" ) dialog.addInput( processdata.item( "email", in: entryName ), named: "receiver", width: 195, label: "Empfnger:" ) dialog.addInput( "", named: "subject", Mail" ) dialog.addInput( worker.adress.eMail, named: "sender", width: 195, label: "Absender:" ) dialog.addInput( processdata.item( "email", in: entryName ), named: "receiver", width: 195, label: "Empfnger:" ) dialog.addInput( "", named: "subject", width: 450, label: "Betreff:" ) dialog.addText( text, named: "text", width: 450, height: 200, label: "Text:" ) dialog.addActionButton( "If IsEmpty( dialog.value( ""receiver"" ) ) Or ( IsEmpty( dialog.value( ""subject"" ) ) = True ) Then MsgBox( ""Empfnger oder Betreff fehlt"" ) Else dialog.accept End If", named: "Senden", width: 100, default: True ) dialog.build dialog.limit( "text", maxChar: step.maxCharComment ) dialog.disableCancel dialog.open sender = dialog.value( "sender" ) receiver = dialog.value( "receiver" ) subject = dialog.value( "subject" ) text = dialog.value( "text" ) mail = New Joops.Scripting.Mail title = "Anhang fr E-Mail auswhlen" fileDialog = New Joops.Scripting.FileDialog filename = fileDialog.openTitle( "Whlen Sie den Dateianhang aus" ) Do While IsEmpty( filename ) = False mail.addAttachment( filename ) filename = fileDialog.openTitle( "Whlen Sie weiteren Dateianhang aus" ) Loop mail.sender( sender ) mail.receiver( receiver ) mail.subject( subject ) mail.text( text & Call Infomaterial.Fu ) If mail.sendHTML = True Then MsgBox( "Die E-Mail wurde gesendet", , vbInformation ) Return Array( subject, text ) Else MsgBox( "Die E-Mail konnte nicht gesendet werden", , vbExclamation ) Return Null End If#  Fu Fu 'Answer the tail of the mail. This may be simple text or HTML-text 'In this example the content of a the file C:\Programme\Netscape\Users\jos\Signature2.html is answered ' 'Returns: String The tail text Dim file As File Dim tailString As String Dim theLine As String tailString = "" file = Open "C:\Programme\Netscape\Users\jos\Signature2.html" For Input Try While True = True Line Input file, theLine tailString = tailString & theLine Wend End Try Catch End Catch Close file Return tailString*Text"&6:JVariable.2`Variable ( name As String, gruppe As String ) 'Hole aus den Prozessdaten gruppe den Eintrag name 'Der Prozessdateneintrag mu ein String sein ! ' 'Arguments: 'name Der Eintragsname 'in Der Gruppenname ' 'Return: 'String Der Wert des Prozessdateneintrags Dim eintrag As String eintrag = processdata.item( name, in: gruppe ) Return eintragStringString>BFVZfEndNREnd ( WinWord As SmallCOM.Word.Application ) 'Schliee die Komponente WinWord ' 'Arguments: 'WinWord Die Word Komponente If IsEmpty( WinWord ) = False Then Try WinWord.quit( False, originalFormat: Enum( SmallCOM.Word.WdOriginalFormat, wdWordDocument ), routeDocument: False ) End Try Catch WinWord.quit( False, originalFormat: Enum( SmallCOM.Word.WdOriginalFormat, wdWordDocument ), routeDocument: False ) End Catch End If SmallCOM.Word.Application^brvSubstitutejnSubstitute ( bookmarks As SmallCOM.Word.Bookmarks, label As String, value As String ) 'Ersetzt die Bookmark label mit dem Text value ' 'Arguments: 'bookmarks Alle Textmarken 'label Die zu ersetzende Textmarke 'value Der Ersatztext ' 'Return: 'Boolean False wenn Textmarke label nicht gefunden, ansonsten True Dim bookmark As SmallCOM.Word.Bookmark Dim range As SmallCOM.Word.Range Dim theValue As String If IsEmpty( value ) = True Then theValue = "" Else theValue = value End If Try bookmark = bookmarks.item( label ) End Try Catch Return False End Catch range = bookmark.range range.insertAfter( theValue ) Return TrueSmallCOM.Word.BookmarksStringStringz~SubstitutesSubstitutes ( document As SmallCOM.Word.Document, marks As Array, values As Array ) 'Ersetzt die Bookmark label mit dem Text value ' 'Arguments: 'document Das Dokument 'marls Die zu ersetzenden Textmarken 'values Die Ersatztext ' 'Return: 'Boolean False wenn eine Textmarke label nicht gefunden, ansonsten True Dim theValue As String Dim bookmarks As SmallCOM.Word.Bookmarks Dim count As Integer Dim i As Integer Dim theMark As String bookmarks = document.bookmarks count = marks.size For i = 1 To count Step 1 theMark = marks( i - 1 ) theValue = values( i - 1 ) If Call Text.Substitute ( bookmarks, theMark, theValue ) = False Then MsgBox( "Im Dokument fehlt die Textmarke '" & theMark & "'", , vbCritical ) Return False End If Next Return TrueSmallCOM.Word.DocumentArrayArrayStart'Start ( visible As Boolean ) 'Das Makro startet Microsoft Word im sichtbaren oder unsichtbaren Modus ' 'Arguments 'visible Startet WinWord sichtbar oder unsichtbar ' 'Return: 'WinWord Die gestartete Applikation Dim WinWord As SmallCOM.Word.Application Try WinWord = New SmallCOM.Word.Application End Try Catch MsgBox( "Die Kommunikationsbibliothek fr MS-Word istnicht geladen oder MS-Word ist nicht installiert", , vbCritical ) Return Null End Catch If visible = True Then WinWord.visible( True ) End If Return WinWordBooleanPrintPrint ( WinWord As SmallCOM.Word.Application, document As SmallCOM.Word.Document ) 'Drucke das Dokument document aus ' 'Arguments: 'WinWord Die Word Komponente 'document Das auszudruckende Dokument Try document.printOut MsgBox( "Bitte warten Sie mit der Beantwortung, bis der Ausdruck gestartet wurde" ) End Try Catch If MsgBox( "Das Dokument kann nicht gedruckt werden.Ist der Drucker jetzt bereit ?", vbYesNo, vbQuestion ) = 1 Then Call Text.End ( WinWord ) End If End CatchSmallCOM.Word.ApplicationSmallCOM.Word.Document TypeTextTypeText ( selection As SmallCOM.Word.Selection, value As String ) 'Drucke den Text value in die aktuelle Selektion selection ' 'Arguments: 'selection Die aktuelle Selection 'value Der Text If IsNull( value ) = False Then selection.typeText( value ) End If SmallCOM.Word.SelectionString*Open|Open ( WinWord As SmallCOM.Word.Application, fileName As String ) 'ffnet die Datei fileName und liefert das document ' 'Arguments: 'WinWird Die Applikation ' 'Return: 'document Das Dokumentinterface Dim documents As SmallCOM.Word.Documents Dim document As SmallCOM.Word.Document documents = WinWord.documents document = documents.open( fileName ) Return documentSmallCOM.Word.ApplicationString"&6:>SubstitutePrintTest.2WSubstitutePrintTest 'Das Makro testet die verschiedenen Ersetz- und Druckfunktionalitten 'Dazu ist die COM-Komponente Microsoft Word und das Dokument Begleitschreiben.doc 'erforderlich Dim fileName As String Dim marks As Array Dim values As Array fileName = Array( CurDir, "\..\Vorlagen\Begleitschreiben.doc" ) marks = Array( "Firma", "Name", "Strasse", "PLZ", "Ort", "vnVorname", "vnNachname", "vnOrt" ) values = Array( "Mnchner Verein", "Fr. Mindel", "Im Kreisel 55", "D-83555", "Mnchen", "Herbert", "Mller", "Baldham" ) Call Text.SubstitutePrint ( fileName, marks, values, True )JNbCheckMarkBF;CheckMark ( bookmarks As SmallCOM.Word.Bookmarks, label As String, check As Boolean ) 'Drucke ein X in der Textmarke label wenn check True ist ' 'Arguments: 'bookmarks Alle Textmarken des Dokuments 'label Der Name der gewnschten Textmarke 'check Drucke darauf ein X, wenn True ' 'Return False: wenn Textmarke nicht existiert ' True: X gedruckt oder auch nicht gedruckt ' Dim checked As Boolean checked = True If ( IsEmpty( check ) = False ) And ( check = True ) Then checked = Call Text.Substitute ( bookmarks, label, "X" ) End If Return checkedSmallCOM.Word.BookmarksStringBooleanRVZ^nrSubstitutePicturefj!SubstitutePicture ( document As SmallCOM.Word.Document, bookmarkName As String, filename As String ) 'Die Bookmark bookmarkName wird mit dem Bild aus der Datei filename in document ersetzt 'Die Option "ber den Text legen" ist ausgeschaltet ' 'Arguments: 'document Das Dokument 'bookmarkName Der Name der Textmarke an der das Bild eingefgt wird 'filename Der Dateiname des Bildes Dim range As SmallCOM.Word.Range Dim inlineShapes As SmallCOM.Word.InlineShapes Dim bookmarks As SmallCOM.Word.Bookmarks Dim bookmark As SmallCOM.Word.Bookmark bookmarks = document.bookmarks bookmark = bookmarks.item( bookmarkName ) range = bookmark.range range.select inlineShapes = document.inlineShapes inlineShapes.addPicture( filename, linkToFile: False, saveWithDocument: True, range: range )SmallCOM.Word.DocumentStringStringvz~SubstitutePrintSubstitutePrint ( filename As String, marks As Array, values As Array, visible As Boolean ) 'Das Makro ersetzt in dem Dokument filename die Textmarken aus marks 'mit den Werten aus values. Das kann sichtbar oder unsichtbar erfolgen (visible) 'Ein Fehler wird mit einer entsprechender Meldung quittiert ' 'Arguments: 'filename Der Dateiname des Dokuments 'marks Die Textmarken 'values Die einzusetztenden Werte 'visible Die Textersetzung erfolgt sichtbar oder unsichtbar ' 'Return: 'Boolean True/False je nach Durchfhrung Library "..\Library\Microsoft Word Small.pcl" Dim WinWord As SmallCOM.Word.Application Dim document As SmallCOM.Word.Document Dim bookmarks As SmallCOM.Word.Bookmarks Dim count As Integer Dim i As Integer Dim mark As String Dim variable As String If marks.size <> values.size Then MsgBox( "Anzahl der Textmarken und Werte ist nicht gleich", , vbCritical ) Return False End If WinWord = Call Text.Start ( True ) document = Call Text.Open ( WinWord, filename ) bookmarks = document.bookmarks count = marks.size For i = 1 To count Step 1 mark = marks( i - 1 ) variable = values( i - 1 ) If Call Text.Substitute ( bookmarks, mark, variable ) = False Then Call Text.End ( WinWord ) MsgBox( "Im Dokument" & filename & "fehlt die Textmarke '" & mark & "'", , vbCritical ) Return False End If Next Call Text.Print ( WinWord, document ) Call Text.End ( WinWord ) Return TrueStringArrayArrayBooleanErsetzenWErsetzen ( bookmarks As SmallCOM.Word.Bookmarks, label As String, value As String ) 'Setze im Dokument in die Textmarke label den Text value ein 'Die Anforderung wird an das Makro "Text.Substitute" delegiert. ' 'Return: 'Boolean False wenn Textmarke label nicht gefunden, ansonsten True Call Text.Substitute ( bookmarks, label, value )SmallCOM.Word.BookmarksStringStringDruckenDrucken ( WinWord As SmallCOM.Word.Application, document As SmallCOM.Word.Document ) Try document.printOut MsgBox( "jetzt wird gedruckt... Bitte warten" ) End Try Catch If MsgBox( "Das Dokument kann nicht gedruckt werden.Ist der Drucker jetzt bereit ?", vbYesNo ) = 1 Then Try document.printOut MsgBox( "jetzt wird gedruckt... Bitte warten", , vbInformation ) End Try Catch MsgBox( "Das Dokument kann wirklich nicht gedruckt werden !", , vbExclamation ) End Catch End If End CatchSmallCOM.Word.ApplicationSmallCOM.Word.DocumentClosevClose ( WinWord As SmallCOM.Word.Application ) If IsEmpty( WinWord ) = False Then Try WinWord.quit( False, originalFormat: Enum( SmallCOM.Word.WdOriginalFormat, wdWordDocument ), routeDocument: False ) End Try Catch WinWord.quit( False, originalFormat: Enum( SmallCOM.Word.WdOriginalFormat, wdWordDocument ), routeDocument: False ) End Catch End If SmallCOM.Word.Application .Nj.Bf".JNachfassen&*:>BNchsteAktivitt26'NchsteAktivitt Dim dialog As ScriptDialog Dim activityDate As Date Dim activityTime As Time Dim result As String Dim entryName As String Dim activity As String Dim grp As String Dim dateChanged As Boolean dateChanged = False grp = "nchste Aktivitt" entryName = Call OfficeTalkTools.ActivityName dialog = New Joops.Scripting.ScriptDialog dialog.title( "Nachfassen der letzten Aktivitt" ) dialog.addRadioButton( "Auftrag abgegeben", named: "auftrag", group: grp ) dialog.addRadioButton( "Wiedervorlage", named: "wiedervorlage", group: grp ) dialog.addRadioButton( "Prsentation", named: "prsentation", group: grp ) dialog.select( grp, value: "wiedervorlage" ) dialog.addSpinInput( activityDate, named: "activityDate", width: 120, label: "am:", readOnly: False ) dialog.addText( "", named: "comment", width: 400, height: 200, label: "Bemerkung:" ) dialog.addActionButton( "Call Erfassen.Kontakt ( True )", named: "Kontakt", width: 100 ) dialog.addActionButton( "stepscheduler.openHistory", named: "Historie", width: 100 ) dialog.addActionButton( "If IsNull( dialog.value( grp ) ) = True Then MsgBox( ""Bitte nchste Aktivitt whlen"" ) Else dialog.accept End If ", named: "OK", width: 100, default: True ) dialog.buildWithColumns( 1, startAt: 15) dialog.addRadioButton( "Evaluation senden", named: "evaluation", group: grp, left: 200, top: 25 ) dialog.addRadioButton( "Infomaterial senden", named: "information", group: grp, left: 200, top: 55 ) dialog.addRadioButton( "nicht Interessiert", named: "nichtinteressiert", group: grp, left: 200, top: 85 ) dialog.addGroupBox( Array( "auftrag", "wiedervorlage", "prsentation", "evaluation", "information", "nichtinteressiert" ), named: "nchste Aktivitt" ) dialog.addLabel( "um:", left: 190, top: 115 ) dialog.addSpinInput( activityTime, named: "activityTime", left: 215, top: 110, width: 80, readOnly: False ) Call OfficeTalkTools.SetDateTime ( dialog, grp, "activityDate", "activityTime" ) dialog.addAction( "dateChanged = True Call OfficeTalkTools.FormatDateTime ( dialog, grp, ""activityDate"", ""activityTime"" )", named: "activityDate" ) dialog.addAction( "dateChanged = True Call OfficeTalkTools.FormatDateTime ( dialog, grp, ""activityDate"", ""activityTime"" )", named: "activityTime" ) dialog.addAction( "If dateChanged = True Then MsgBox( ""Achtung Datum und Uhrzeit wird wieder gendert"", ( 1 ) ) End If dateChanged = False Call OfficeTalkTools.SetDateTime ( dialog, grp, ""activityDate"", ""activityTime"" )", named: grp ) dialog.limit( "comment", maxChar: step.maxCharComment - 20 ) dialog.disableCancel dialog.open activity = dialog.value( grp ) activityDate = dialog.value( "activityDate" ) activityTime = dialog.value( "activityTime" ) step.comment( dialog.value( "comment" ) ) If activity = "auftrag" Then result = "Auftrag" Else If activity = "wiedervorlage" Then result = "Wiedervorlage" stepscheduler.startDate( activityDate, time: activityTime ) stepscheduler.defineStartDate Else If activity = "prsentation" Then result = "Prsentation" stepscheduler.startDate( activityDate, time: activityTime ) stepscheduler.defineStartDate Else If activity = "evaluation" Then result = "Evaluation" Else If activity = "information" Then result = "Infomaterial" Else If activity = "nichtinteressiert" Then result = "nicht Interessiert" Else result = activity End If End If End If End If End If End If processdata.item( "activityDate", with: activityDate, in: entryName ) processdata.item( "activityTime", with: activityTime, in: entryName ) processdata.item( "activity", with: result, in: entryName ) Return result2FN&RbEvaluationZ^nrvVersandfjWVersand Dim entryName As String entryName = Call OfficeTalkTools.ActivityName If Call Evaluation.Post = True Then stepscheduler.startDate( processdata.item( "activityDate", in: entryName ), time: processdata.item( "activityTime", in: entryName ) ) stepscheduler.defineStartDate Return "Nachfassen" Else Return "Error" End If Postz~ Post 'Send evaluation with post 'Return: Boolean: True (sent) ' False (not sent) Library "..\Library\Microsoft Word Small" Dim WinWord As SmallCOM.Word.Application Dim documents As SmallCOM.Word.Documents Dim document As SmallCOM.Word.Document Dim bookmarks As SmallCOM.Word.Bookmarks Dim fileName As String Dim entryName As String Dim sex As String Dim firstname As String Dim surname As String Dim dialog As ScriptDialog Dim text As String entryName = Call OfficeTalkTools.AdressName dialog = New Joops.Scripting.ScriptDialog dialog.title( "Zustzlicher Brieftext" ) dialog.addText( "", named: "text", width: 450, height: 200, label: "Text:" ) dialog.addAcceptButtonDefault( True ) dialog.build dialog.limit( "text", maxChar: step.maxCharComment ) dialog.disableCancel dialog.open text = dialog.value( "text" ) step.comment( text ) fileName = Array( CurDir, "\..\JOOPS Vorlagen\WriteEvaluation.doc" ) Try WinWord = New SmallCOM.Word.Application End Try Catch MsgBox( "Microsoft-Word library not loaded", , vbExclamation ) Return False End Catch WinWord.visible( True ) documents = WinWord.documents document = documents.open( fileName ) bookmarks = document.bookmarks sex = Call Text.Variable ( "sex", entryName ) firstname = Call Text.Variable ( "firstname", entryName ) surname = Call Text.Variable ( "surname", entryName ) Call Text.Ersetzen ( bookmarks, "company", Call Text.Variable ( "company", entryName ) ) Call Text.Ersetzen ( bookmarks, "sex", sex ) Call Text.Ersetzen ( bookmarks, "firstname", firstname ) Call Text.Ersetzen ( bookmarks, "surname", surname ) Call Text.Ersetzen ( bookmarks, "street", Call Text.Variable ( "street", entryName ) ) Call Text.Ersetzen ( bookmarks, "zip", Call Text.Variable ( "zip", entryName ) ) Call Text.Ersetzen ( bookmarks, "town", Call Text.Variable ( "town", entryName ) ) Call Text.Ersetzen ( bookmarks, "salutation", sex & " " & surname ) Call Text.Ersetzen ( bookmarks, "text", text ) Call Text.Drucken ( WinWord, document ) Call Text.Close ( WinWord ) Return TruefzZAbsageErfassenNotierenNotieren 'The cusomer is not interested. 'Reason is stored in processdata and steps's comment Dim dialog As ScriptDialog dialog = New Joops.Scripting.ScriptDialog dialog.title( "Grund der Absage notieren" ) dialog.addText( "", named: "reason", width: 350, height: 200, label: "Grund:" ) dialog.addAcceptButton dialog.build dialog.disableCancel dialog.open processdata.item( "state", with: "Cancel", in: Call OfficeTalkTools.ActivityName ) processdata.item( "reason", with: dialog.valueNamed( "reason" ), in: Call OfficeTalkTools.ActivityName ) step.comment( dialog.value( "reason" ) ) MsgBox( "Die Absage ist notiert", ( 1 ), vbInformation )AuftragErstellenhErstellen Dim dialog As ScriptDialog dialog = New Joops.Scripting.ScriptDialog dialog.title( "Auftrag erstellen" ) dialog.addInput( processdata.item( "company", in: Call OfficeTalkTools.AdressName ), named: "customer", width: 400, label: "Firma:" ) dialog.addInput( processdata.item( "firstname", in: Call OfficeTalkTools.AdressName ), named: "firstname", width: 400, label: "Vorname:" ) dialog.addInput( processdata.item( "surname", in: Call OfficeTalkTools.AdressName ), named: "surname", width: 400, label: "Nachname:" ) dialog.addActionButton( "Call Erfassen.Kontakt ( True )", named: "Kontakt", width: 150 ) dialog.addActionButton( "stepscheduler.openHistory", named: "Historie", width: 100 ) dialog.addActionButton( "Shell ""..\JOOPS Vorlagen\BSKontor.bat""", named: "BS-Kontor", width: 100 ) dialog.addText( "", named: "comment", width: 400, height: 60, label: "Kommentare:" ) dialog.addAcceptButtonDefault( True ) dialog.buildButtonsOffset( 5 ) dialog.disableCancel dialog.open processdata.item( "installComment", with: dialog.value( "comment" ), in: Call OfficeTalkTools.ActivityName ) Return "Gekauft"2Support &*ResultResult Dim dialog As ScriptDialog Dim accepted As Boolean dialog = New ScriptDialog dialog.addLabel( "Wann:", left: 0, top: 13 ) dialog.addSpinInput( Date, named: "date", left: 95, top: 16, width: 171, readOnly: False ) dialog.format( "date", as: "date", with: "d.mmmm.yyyy" ) dialog.addLabel( "Wo:", left: 0, top: 46 ) dialog.addInput( processdata.item( "street", in: Call OfficeTalkTools.AdressName ) & ", " & processdata.item( "town", in: Call OfficeTalkTools.AdressName ), named: "location", left: 95, top: 47, width: 342 ) dialog.addLabel( "Kommentare:", left: 0, top: 75 ) dialog.addText( "", named: "comment", left: 95, top: 78, width: 392, height: 166 ) dialog.addLabel( "Nchster Support:", left: 0, top: 258 ) dialog.addSpinInput( Date + 90, named: "nextdate", left: 95, top: 257, width: 171, readOnly: False ) dialog.format( "nextdate", as: "date", with: "d.mmmm.yyyy" ) dialog.addSpinInput( Time, named: "nexttime", left: 272, top: 257, width: 100, readOnly: False ) dialog.format( "nexttime", as: "time", with: "h:mm:ss" ) dialog.addAcceptButtonLeft( 405, top: 254, width: 80, height: 30, default: True ) dialog.width( 504 ) dialog.height( 290 ) dialog.disableCancel accepted = dialog.open If accepted = True Then processdata.item( "date", with: dialog.value( "date" ), in: "support" ) processdata.item( "location", with: dialog.value( "location" ), in: "support" ) processdata.item( "comment", with: dialog.value( "comment" ), in: "support" ) processdata.item( "nextdate", with: dialog.value( "nextdate" ), in: "support" ) processdata.item( "nexttime", with: dialog.value( "nexttime" ), in: "support" ) End If step.comment( dialog.value( "comment" ) ) stepscheduler.startDate( dialog.value( "nex" ) processdata.item( "nexttime", with: dialog.value( "nexttime" ), in: "support" ) End If step.comment( dialog.value( "comment" ) ) stepscheduler.startDate( dialog.value( tdate" ), time: dialog.value( "nexttime" ) ) stepscheduler.defineStartDate Return "Support" "G.6 :JfPrsentationBFVZ^ErgebnisNRErgebnis Dim dialog As ScriptDialog Dim result As String dialog = New Joops.Scripting.ScriptDialog dialog.title( "Wie war die Prsentation ?" ) dialog.addText( "", named: "result", width: 400, height: 200, label: "Ergebnis:" ) dialog.addActionButton( "Call Erfassen.Kontakt ( True )", named: "Kontakt", width: 100 ) dialog.addAcceptButton dialog.build dialog.limit( "result", maxChar: step.maxCharComment ) If dialog.open = True Then result = dialog.value( "result" ) step.comment( result ) processdata.item( "presentationresult", with: result, in: Call OfficeTalkTools.ActivityName ) Return "Nachfassen" Else Return "Nochmal" End If NbjBn^"V>rvJoops.OfficeTalk.Autorisierungrights.26~VertriebOfficeTalkchangeNextStepchangeNextUserchangeStepreadStepstartProcessreadProcessremoveProcessscheduleProcessterminateProcessworkProcessscheduleStepEarly&z