Autor Thema: Export nach Word, Dokumentenschutz in Word generieren  (Gelesen 2598 mal)

Offline Sabine

  • Aktives Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Weiblich
Hallo,

ich habe mal wieder ein Problem  :(

Diesmal handelt es sich um eine Schaltfläche, die durch Drücken ein Worddokument befüllen soll (die Vorlage des Worddokumentes ist in einem Notesdokument gespeichert) und als Anhang in das Notesdokument angehängt werden soll. Das funktioniert alles soweit auch ganz gut. Jedoch muß dieses Worddokument nachdem befüllen wieder geschützt werden.

Wie bekomme ich dies am besten hin, damit aber auch noch die Formularfelder befüllt werden können. Denn dort bricht mir das Script mit folgendem Fehler ab "No Resume". Denn nur der Schutz ist kein Problem...

Hier ein Auszug aus meinem Script:


 wddoc.Bookmarks("Gremium").Range.Text=uidoc.FieldGetText("Gremium")
 wddoc.Bookmarks("Datum").Range.Text=uidoc.FieldGetText("Datum")
 wddoc.Bookmarks("TOP").Range.Text=uidoc.FieldGetText("TOP")
   
 wddoc.Protect Password="" 'das funktioniert
 wddoc.Protect NoReset = False  'das nicht
 wddoc.Protect Type=wdAllowOnlyFormFields 'das ebenfalls nicht
    'wddoc.Protect Password:="", NoReset:=False, _
    Type:=    wdAllowOnlyFormFields 'und so schaut es im VBA Editor in Word aus....


Danke für Eure Hilfe..

Gruß Sabine
« Letzte Änderung: 08.11.06 - 09:28:31 von Sabine »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Export nach Word, Dokumentenschutz in Word generieren
« Antwort #1 am: 07.11.06 - 18:43:11 »
"No Resume" weist auf eine fehlerhaft verwendetes On Error-Statement hin. Da Du nur sehr wenig Code postest, lässt sich da jetzt ganz schlecht sagen, wo Du in dieser Hinsicht einen Fehler eingebaut hast.

Bernhard

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Export nach Word, Dokumentenschutz in Word generieren
« Antwort #2 am: 07.11.06 - 19:16:34 »
Ich habe das schon öfters gemacht und setze den Dokumentschutz so:


...
Const wdAllowOnlyFormFields = 2
...
Set objWord = CreateObject("Word.Application")
...
objWord.ActiveDocument.Protect wdAllowOnlyFormFields, True, ""
...


wdAllowOnlyFormFields musst du natürlich als Konstante entsprechend deklariert haben

Im obigen Beispiel ist der Parameter NoReset auf True gesetzt und es wird ein leeres Passwort übergeben, also keines.



Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Sabine

  • Aktives Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Weiblich
Re: Export nach Word, Dokumentenschutz in Word generieren
« Antwort #3 am: 08.11.06 - 07:43:19 »
@Axel,

super genau das war mein Problem  :) ;) *freu*!!!

Der Fehler "No Resume" kommt nicht mehr und das Worddokument wird ordentlich erstellt und man kann nur noch die drei Formularfelder bearbeiten.

Wo kann ich denn die genaue Syntax dazu nachlesen, denn in der Notes Hilfe habe ich nichts gefunden? (VBA Editor?! / VBA Hilfe)

Schönen Tag noch...

Sabine

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Export nach Word, Dokumentenschutz in Word generieren
« Antwort #4 am: 08.11.06 - 08:29:10 »
Wo kann ich denn die genaue Syntax dazu nachlesen, denn in der Notes Hilfe habe ich nichts gefunden? (VBA Editor?! / VBA Hilfe)

Du hast dir die Antwort schon selbst gegeben: VBA Editor / VBA Hilfe. Das Ganze musst du für LotusScript dann noch ein bisschen modifizieren.

Bei aufwändigeren Sachen habe ich mir so geholfen, dass ich zuerst in Word ein Makro aufgezeichnet und dieses dann in Lotusscript umgesetzt habe.

Hier gibt's auch noch ein paar Infos:

http://atnotes.de/index.php?topic=16522.msg203302#msg203302

How to get around the ":=" that VB uses to set parameters in Lotus Notes


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Export nach Word, Dokumentenschutz in Word generieren
« Antwort #5 am: 08.11.06 - 08:39:06 »
@Sabine

Referenz für Word:
1. Öffne Word
2. Drücke Alt + F11 um den Visual Basic Editor zu öffnen
3. Drücke F2 um den Objektkatalog zu öffnen.

Dann kannst du nach der Funktion/Methode/Eigenschaft/Objekt.... suchen,
oder direkt über das Fenster "Klassen" das Objekt auswählen.

Alternativ über die MSDN-Library von Microsoft:
http://msdn2.microsoft.com/en-us/library/ms400535.aspx


koehlerbv hat aber nicht ganz unrecht:
Der Fehler "No Resume" wird wieder kommen, wenn dein Script einen Fehler wirft. Wenn du z.B. auf ein Word-Objekt nicht zugreifen kanns oder wenn eine Word-Funktion fehlschlägt.

Du wirst sicher ein "On Error Goto [lable]" in deinem Code haben.
Weiter unten in deinem Code wirst du dann wahrscheinlich das Errorhandling eingebaut haben. Leider ohne dem Errorhandling zu sagen, was nach der Fehlerbehandlung passieren soll.

Ein simples Beispiel

Code
Sub Initialize
	Dim i as Integer
	Dim v as Variant
	
	On error Goto errorhandler
	v = "alklkasdf"
	i = v		' hier tritt ein "Type mismatch" auf
			' die Anweisung "On Error Goto errorhandler"
			' besagt, daß ab dem Lable "errorhandler" weitergemacht werden soll.

	Print i

exitsub:
	Exit Sub		' Prozedur wird verlassen

errorhandler:		' Ab hier wird im Fehlerfall weitergemacht.

	Msgbox Error	' Gibt die Meldung "Type mismatch" aus

	Resume Next	' Mach in der Zeile, in der der Fehler aufgetreten ist weiter
	'Resume exitsub	' Spring zum Lable "exitsub"

End Sub

Würden hier beide Resume-Anweisungen "auskommentiert" werden kommt der Fehler "No Resume", weil das Script nicht weis, wo es weitermachen soll.
Gruß
Johnson

Offline Sabine

  • Aktives Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Weiblich
Re: Export nach Word, Dokumentenschutz in Word generieren
« Antwort #6 am: 08.11.06 - 09:28:06 »
@Axel,

nochmals herzlichen Dank, hast mir wirklich toll weiter geholfen... jetzt habe ich wenigstens mal Anhaltspunkte. Das mit dem VBA Editor hatte ich mir schon fast gedacht und habe es auch ausprobiert, aber damit muß ich mich noch ein wenig mehr auseinandersetzen.


@Johnson,

auch Dir für Deine ausführliche Antwort ein großes Dankeschön.

Das mit der Fehlerroutine, wäre nun bei mir völlig unter den Tisch gefallen. Habe eine Fehlerabfang drin "On Error Goto Ende", aber dann kein Resume mehr  :( ... Schaue ich mir nochmal an...  ;)

Gruß Sabine




Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Export nach Word, Dokumentenschutz in Word generieren
« Antwort #7 am: 08.11.06 - 09:31:37 »
Gern geschehen.


Hier findest du noch mehr Infos zum Thema Fehlerbehandlung:

Best Practices: Error Handling in Lotus Script


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz