ShellExecute in If Bedingung

12/10/2007 - 13:04 von Horst Heck | Report spam
Hallo zusammen,

per Doppelklick auf ein Textfeld, welches Pfadangaben zu Dateien
enthàlt, öffne ich diese Dateien.
Die Dateien können verschiedenster Art sein(doc,pdf etc).
Über FollowHyperlink und ShellExecute komme ich auch zu einer Lösung.
Bei Word-docs möchte ich jedoch prüfen ob Word bereits geöffnet ist,
und wenn ja keine weitere WordInstanz öffnen sondern die bereits
geöffnete benutzen.
Hierfür habe ich mir nun folgenden Code gebastelt:


Private Sub Datei_DblClick(Cancel As Integer) ' mein Textfeld

Dim L As String ' Textfeldinhalt als Pfad
Dim ZF1 As String ' Dateiendung
Dim wdAppl As Object
Dim wdDoc As Object

L = Datei.Value
If L = "" Then
End
End If
'***************************************************
'Ist die Datei ein doc ?
'***************************************************
ZF1 = Right(L, 3)
If ZF1 <> "doc" Then

OpenDocument L <-- Hier wird ShellExecute ausgeführt, das
funktioniert auch!!

Else

'****************************************************
' überprüfen ob Word bereits geöffnet!!!
'***************************************************
Set wdAppl = GetObject(, "Word.Application") <- Hier gibts
nen Fehler
Err.Clear
'***************************************************
' Wenn nicht dann öffnen
'***************************************************
If wdAppl Is Nothing Then
Set wdAppl = CreateObject("Word.Application")
If Err.Number <> 0 Then
Exit Sub
End If
End If
'****************************************************

Set wdDoc = wdAppl.Documents.Open(L)
wdAppl.Visible = True
wdAppl.Activate

Set wdDoc = Nothing
Set wdAppl = Nothing

End If
End Sub

Ich erhalte den Fehler Objekterstellung durch ActiveX-Komponente nicht
möglich.
Hat jemand einen Tip für mich ?

gruss horst

A2003,XP
 

Lesen sie die antworten

#1 Jens Schilling
12/10/2007 - 13:35 | Warnen spam
Hallo, Horst

Horst Heck wrote:
Hallo zusammen,

per Doppelklick auf ein Textfeld, welches Pfadangaben zu Dateien
enthàlt, öffne ich diese Dateien.
Die Dateien können verschiedenster Art sein(doc,pdf etc).
Über FollowHyperlink und ShellExecute komme ich auch zu einer Lösung.
Bei Word-docs möchte ich jedoch prüfen ob Word bereits geöffnet ist,
und wenn ja keine weitere WordInstanz öffnen sondern die bereits
geöffnete benutzen.
Hierfür habe ich mir nun folgenden Code gebastelt:


[Snip]

Hat jemand einen Tip für mich ?



Ja - da ganz frisch auf den Tisch, und wirklich lesenswert:
Schau Dir Michael Zimmermanns Skript über "Automation von Excel und Word"
an; zu finden ist dies auf den Downloadseiten von www.donkarl.com/?aek .

Gruss
Jens
______________________________
FAQ: http://www.donkarl.com

Ähnliche fragen