Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Word-Formular mit VBA schreibschützen!

Begonnen von andreasl4099, Juli 05, 2010, 12:49:20

⏪ vorheriges - nächstes ⏩

andreasl4099

Hallo Forum!

Habe ein Problem mit den Schreibschutz beim Export von Daten aus Access in ein Word-Formular. der Datenexport und die Abspeicherung funktioniert einwandfrei.
Auch der Schreibschutz wird aufgehoben. Nun will ich aber das neue Word-Formular wieder bis auf die Formulartextfelder schreibschützen (mit Passwort), dass aber will nicht!!

Hier meine Anweisungen aus VBA zm Verständnis:


 
   Public Sub Vorhabensbeschreibung_GrundlagenTest_auslesen() 'Formularfelder "FormFields"


Dim oWord As Object, odoc As Object
Dim itm, txt As String
Dim strVHID As String
Dim strName As String
Dim strDate As String
Dim strNummer As String
Dim strVorhaben As String
Dim strBearbeitung_E As String


Dim db As DAO.Database
Dim rst As DAO.Recordset
strVHID = InputBox("Vorhaben-ID eingeben:", "VH-ID")
strDate = InputBox("Datum eingeben:", "Datum der BV")
strBVNummer = InputBox("Beschreibungsversionsnummer eingeben:", "BV-Nummer", "BV001")


Set oWord = CreateObject("word.application")

Set odoc = oWord.Documents.Open("O:\Projektchallenging\4 VDK\1 BV Import\1 Vorlagen\004 Grundlagen AIE\2010-05-28 BV AIE; Grundlagen.doc")

    Set db = CurrentDb()
   
   
     Set rst = db.OpenRecordset("SELECT [Vermerke].[VH_ID], [Vermerke].[BV_Nummer], [Vermerke].[Erläuterung], [Vermerke].[BV_Uploadfeld] FROM Vermerke WHERE [Vermerke].[VH_ID]= '" & strVHID & "'  AND [Vermerke].[BV_Nummer]= '" & strBVNummer & "'  AND [Vermerke].[BV_Uploadfeld]= 'Vorhaben'", dbOpenDynaset)
   
            With oWord
            .ActiveDocument.Unprotect , Password:="PW"
            .ActiveDocument.Bookmarks("Vorhaben").SELECT
            .Selection.Text = rst![Erläuterung]
            .ActiveDocument.Protect Password:="PW", Type:=wdAllowOnlyFormFields, NoReset:=True
            .ActiveDocument.SaveAs FileName:=("C:\Dokumente und Einstellungen\z047536\Desktop\" & Format(strDate, "YYYY-MM-DD") & " " & strVHID & " " & "BV AIE; Grundlagen" & ".doc")

        End With

    Set rst = Nothing



    Set db = Nothing


oWord.Visible = True

odoc.Close
Set odoc = Nothing
oWord.Quit
Set oWord = Nothing

AlarmBeep

MsgBox "Daten an Word übergeben!"


End Sub
[/font]


Wenn ich diesen Code (Schreibschutz) in das Word schreibe funkt es!!

Hoffe aus Hilfe

Danke

DF6GL

Hallo,

ist der Verweis auf die Word-Object-Library gesetzt?

Öffne den VBA-Editor (von Access) und schreib Option Explicit in den Modulkopf (falls nicht schon vorhanden) und kompiliere die DB

andreasl4099

Guten Morgen!

das wars! 

Danke und Grüße an den Bodensee.  :P

Andi