Autor Thema: Zeitplan im Kalenderprofil per Script ändern  (Gelesen 2121 mal)

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Zeitplan im Kalenderprofil per Script ändern
« am: 04.02.05 - 21:07:45 »
Hallo,

wie kann man im Kalenderprofil per Script den Zeitplan ändern.

Ich möchte die eingegebenen Zeiten ändern in 09:00 - 12:00, 13:00 - 18:00.

Einzelne Werte, also 09:00 ist kein Problem aber wie stelle ich eine Zeitspanne ein?

Gruß Sascha
« Letzte Änderung: 05.02.05 - 15:46:59 von mibo11 »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Zeitplan im Kalenderprofil per Script ändern
« Antwort #1 am: 04.02.05 - 23:08:40 »
Entweder, du nimmst Evaluate her (siehe den Code in $Times1 des CalendarProfiles), oder Du baust Dir via DateNumber das Array selber zusammen.

Wo liegt Dein wirkliches Problem ?

Bernhard

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: Zeitplan im Kalenderprofil per Script ändern
« Antwort #2 am: 05.02.05 - 09:35:12 »
Hallo Bernhard,

folgender Code


   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim profdoc As NotesDocument
   
   Dim ergebnis As Variant
   Dim formelmacro As String   
   
   Set db = s.CurrentDatabase
   Set profdoc = db.GetProfileDocument("CalendarProfile")   
   
   formelmacro = {@TextToTime(@Text(@Adjust([00:00:00]; 0; 0; 0; 9; 0; 0)) + " - " + @Text(@Adjust([00:00:00]; 0; 0; 0; 12; 0; 0))) : @TextToTime(@Text(@Adjust([00:00:00]; 0; 0; 0; 13; 0; 0)) + " - " + @Text(@Adjust([00:00:00]; 0; 0; 0; 18; 0; 0)))}
   ergebnis = Evaluate(formelmacro,profdoc)
   profdoc.ReplaceItemValue "$TimesDisp2",ergebnis   ' Feld für Montag
   profdoc.save True, False, True


führt zu folgendem Ergebnis (siehe MONTAG in Kalender.jpg).

Ich möchte allerdings das Ergebnis so erzeugen wie am Dienstag, also mit Trennstrich, damit es einen Zeitraum ergibt.

Interessanterweise werden im Debugger beide Feldinhalte gleich dargestellt.

(siehe Debugger.jpg)

Eine Idee?

Gruß Sascha



Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Zeitplan im Kalenderprofil per Script ändern
« Antwort #3 am: 05.02.05 - 10:04:18 »
Studierst Du mal die NotesDateRange Klasse und verwendest diese
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: Zeitplan im Kalenderprofil per Script ändern
« Antwort #4 am: 05.02.05 - 10:08:42 »
Hallo Jens,

danke für den Tip, aber leider bringt dies mein Verständnis auch nicht weiter.

Wie binde ich dann das DateRange Objekt in das Feld ein?

Gruß Sascha

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: Zeitplan im Kalenderprofil per Script ändern
« Antwort #5 am: 05.02.05 - 10:14:48 »
Hallo Jens,

ich habs gefunden.

DateRange.Text in ein Array (vom Typ Variant) löst das Problem.

Vielen dank für den Ansatz.

Grüße aus dem Rheinland

Sascha


Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: Zeitplan im Kalenderprofil per Script ändern
« Antwort #6 am: 05.02.05 - 10:28:03 »
Hallo Jens,

ich habe mich leider zu früh gefreut.

Der Ansatz mit der NotesDateRange hat mich doch nicht weiter gebracht.

DateRange.Text liefert mir einen Textstring, den der freihe Zeit Agent nicht interpretieren kann. Anbei ein Screenshot des Debuggers vom entsprechenden Feld. Das Feld sollte allerdings so aussehen, wie in einem meiner letzten Postings. 

Was mir nicht ganz klar wird, ist die Tatsache, dass der Zeitraum 09:00 - 12:00, 13:00 - 18:00 im Debugger als Mehrfachfeld mit 4 Einträgen (09:00, 12:00, 13:00, 18:00) dargestellt wird (Datentyp Variant).  Wodurch werden dann im Frontend die Trennstriche dargestellt?

Gruß Sascha

« Letzte Änderung: 05.02.05 - 15:47:48 von mibo11 »

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Zeitplan im Kalenderprofil per Script ändern
« Antwort #7 am: 05.02.05 - 15:03:44 »
Du darfst das dem Feld natürlich nicht als Text übergeben, sondern mit ReplaceItemValue das gesamte Zeitobjekt oder einen Array von solchen Objekten übergeben.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: Zeitplan im Kalenderprofil per Script ändern
« Antwort #8 am: 05.02.05 - 15:46:03 »
Vielen Dank Jens,

das mit dem Objekt war es.

Anbei der Code:

   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim profdoc As NotesDocument
   Dim dr As NotesDateRange
   Dim i As Integer
   
   Set db = s.CurrentDatabase
   Set profdoc = db.GetProfileDocument("CalendarProfile")   
   Set dr = s.CreateDateRange
   
   dr.Text = ("09:00:00 AM - 01:00:00 PM")   
   
   For i = 2 To 6
      profdoc.ReplaceItemValue "$TimesDisp" & Cstr(i),dr
   Next
   profdoc.save True, False, True


Gruß Sascha

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Zeitplan im Kalenderprofil per Script ändern
« Antwort #9 am: 05.02.05 - 15:53:49 »
Fein, gut dass es jetzt tut wie es soll :)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz