Solved
start winword from access as normal user
Posted on 2002-04-29
I use the following code (see below) in MS Access97 to start a Winword Document97.
My problem is that i cannot do this as normal user. When i do the same as Administrator i have no problem.
When i try to start this funktion as normal user and after i pass the following line:
.Documents.Add Template:=Chr(34) & vorlage & Chr(34)
i will get the following error:
?err.Description
Macrospace could not be opened
?err.Number
5981
?err.Source
Microsoft Word
I hope somebody can help me there.
Thanks a lot
fragen
----------------
Private Sub Button_Click()
Dim appWd As Word.Application
Dim WordDoc As Word.DOCUMENT
Dim vorlage As String
Dim Nix
Dim Anred, titelak, titelve As String
Dim zHd As String
Select Case Anrede
Case 1
Anred = "Herrn"
Case 2
Anred = "Frau"
Case 3
Anred = "Firma"
Case 4
Anred = "Famillie"
End Select
'If [Anrede] = 1 Then anred = "Herrn"
'If [Anrede] = 2 Then anred = "Frau"
'If [Anrede] = 3 Then anred = "Firma"
'If [Anrede] = 4 Then anred = "Famillie"
If DCount("[titelnr]", "titelabfrage", "[kunden_id]=form![kundennr] and
[akademisch]=-1") > 0 Then
titelak = DLookup("[titel]", "titelabfrage", "[kunden_id]=form![kundennr]
and [akademisch]=-1")
End If
If DCount("[titelnr]", "titelabfrage", "[kunden_id]=form![kundennr] and
[akademisch]=0") > 0 Then
titelve = DLookup("[titel]", "titelabfrage", "[kunden_id]=form![kundennr]
and [akademisch]=0")
End If
If [z hd2].Column(0) <> 1183 Then
zHd = Trim("z.Hd. " & Trim([z hd2].Column(3) & " " & Trim([z
hd2].Column(4) & " " & Trim([z hd2].Column(2))) & " " & UCase([z
hd2].Column(1))))
Else
zHd = ""
End If
Nix = Trim(Anred & " " & titelve) & _
vbCr & Trim(Trim(titelak & " " & [Vorname]) & " " & UCase([nam])) & vbCr & _
Trim(Trim([firmeart] & " " & [Firmelaut]) & vbCr & _
zHd) & vbCrLf & _
[Adresse] & vbCr & [abkürzung] & "-" & [PLZ] & " " & UCase([Ort])
vorlage = vorl.Column(0)
On Error Resume Next 'See if Word is running
Set appWd = GetObject(, "Word.Application.8")
If Err.Number <> 0 Then 'Word Not running
Err.Clear ' Clear Err object in case error occurred.
'Create a new instance of Word
Set appWd = CreateObject("Word.Application.8")
'Create an instance of Word
Else
appWd.Activate
End If
On Error GoTo btnWinWord_Error
With appWd
' Vorlage als Dokument öffnen
.Documents.Add Template:=Chr(34) & vorlage & Chr(34)
.ActiveDocument.Bookmarks("Adresse").Select
.Selection.InsertAfter Nz(Nix)
.Selection.EndOf Unit:=wdParagraph, Extend:=wdMove
' Sichtbar setzen
.Visible = True
' Maximieren
.WindowState = wdwindowstatemaximize
' .Quit
End With
btnWinWord_Exit:
Exit Sub
btnWinWord_Error:
If Err.Number = 5941 Then
Nix = MsgBox("Falsche WinWordVorlage (Textmarke fehlt)" & _
vbCrLf & "Vorlage war : " & vorlage, _
vbCritical, "WinWord Abbruch")
appWd.Quit
GoTo btnWinWord_Exit
Else
Nix = MsgBox("Allgemeiner Fehler bei WinWord-Aufruf" & _
vbCrLf & "Fehler-Nr ist : " & Err.Number, _
vbCritical, "WinWord Abbruch")
appWd.Quit
GoTo btnWinWord_Exit
End If
End Sub
--------------------------