Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1712to1716
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

geöffnete Worddatei und Word aus Excel beenden

geöffnete Worddatei und Word aus Excel beenden
27.09.2019 20:03:09
Peter
Hallo,
könnt ihr mir bitte mitteilen, wie ich eine über UF geöffnete Worddatei mittels Button speichern ohne Abfrage, schliessen und Word beenden sofern keine weitere Worddatei geöffnet ist.
Besten Dank für eure Hilfe.
Gruss
Peter

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: geöffnete Worddatei und Word aus Excel beenden
28.09.2019 07:33:22
Oberschlumpf
Hi Peter,
hier, versuch mal:
https://www.herber.de/bbs/user/132253.xlsm
Ich hab kein Userform verwendet, sondern die 2 Button direkt in der Tabelle platziert.
Da aber, so wie es aussieht (Eigenschaften, Methoden,...), sowohl in Userform wie auch in der Tabelle ActiveX-Controls verwendet werden, ist das nicht vorhandene Userform nicht so wichtig.
Nach Klick auf den Öffnen-Button wirst du aufgefordert, eine Word-Datei auszuwählen, die dann geöffnet wird.
Word mit der Datei wird sichtbar geöffnet; du könntest direkt in Word Änderungen vornehmen.
(ich weiß nicht, wie bei dir die Word-Datei geöffnet/geändert wird, da du dazu keine Infos hinterlassen hast)
Nach Klick auf den Schließen-Button in Excel wird die zuvor geöffnete Word-Datei ohne Rückfrage gespeichert + geschlossen.
Wenn keine weiteren Word-Dateien (in der selben Word-Instanz) geöffnet sind, wird auch Word geschlossen. Wenn noch mind. eine weitere Word-Datei geöffnet ist, wird Word nicht geschlossen.
Hilfts?
Ciao
Thorsten
Anzeige
AW: geöffnete Worddatei und Word aus Excel beenden
28.09.2019 10:56:29
Peter
Hallo Thorsten,
besten Dank für Deine Hilfe.
Leider kann ich es nicht umsetzten auf meine Bedürfnisse.
Die Anweisung zum Öffnen meiner Worddatei anbei:
'gewählte Worddatei öffnen
<pre>Private Sub CommandButton4_Click()
Dim DieDatei As Boolean
Dim DeinDateiname As String
Dim wordObj As Word.Application
If Me.TextBox2 = "" Then
Label7.Caption = "Bitte Worddatei auswählen"
Exit Sub
Else
DieDatei = IstDateiOffen2(Me.TextBox2.Value)
If DieDatei = True Then
' MsgBox "Datei ist schon geöffnet"
Label7.Caption = "Datei ist schon geöffnet" & vbLf & "Vorgang beendet"
CommandButton6.Visible = True
Exit Sub
Else
' MsgBox "Datei ist noch nicht geöffnet"
Label7.Caption = "Datei ist noch nicht geöffnet" & vbLf & "wird geöffnet"
DeinDateiname = Me.TextBox2.Value
Set wordObj = CreateObject("Word.Application")
wordObj.Visible = True
wordObj.Documents.Open DeinDateiname
Set wordObj = Nothing
''' Me.TextBox2 = "" 'nicht leeren da für Übertragung in Worddatei erforderlich
''' Me.ComboBox1 = "" 'nicht leeren da für Übertragung in Worddatei erforderlich
CommandButton6.Visible = True
End If
End If
End Sub</pre>
'eingebaut in o. a. Code: CommandButton4_Click
Function IstDateiOffen2(Dateiname As String) As Boolean
Dim DateiNr As Long
Dim FehlerNr As Long
On Error Resume Next
DateiNr = FreeFile()
Open Dateiname For Input Lock Read As #DateiNr
Close DateiNr
FehlerNr = Err
On Error GoTo 0
Select Case FehlerNr
Case 0
IstDateiOffen2 = False
Case 70
IstDateiOffen2 = True
Case Else
Error FehlerNr
End Select
End Function</pre>
Kannst Du mir bitte das Speichern, schliessen und beenden von Word mittels den o.a. Daten erstellen?
Besten Dank.
Gruss
Peter
Anzeige
AW: geöffnete Worddatei und Word aus Excel beenden
28.09.2019 11:02:55
Oberschlumpf
Hi Peter,
nöö, kann ich so leider nicht umsetzen.
Bitte zeig uns eine Bsp-Datei mit deinem VBA-Code. Vielleicht kann man dann besser helfen.
Ciao
Thorsten
AW: geöffnete Worddatei und Word aus Excel beenden
28.09.2019 11:18:14
Peter
Hallo Thorsten,
leider kann ich die Datei nicht übersenden - zu gross und interne Daten.
Folgenden Code habe ich nachgebaut:
<pre>Private Sub CommandButton12_Click()
Dim wordObj As Word.Application
Dim DeinDateiname As String
DeinDateiname = Me.TextBox2.Value
wordObj.Documents(DeinDateiname).Close SaveChanges:=True
If wordObj.Documents.Count = 0 Then
wordObj.Quit
End If
Set wordObj = Nothing
End Sub</pre>
Die Zeile "wordObj.Documents(DeinDateiname).Close SaveChanges:=True" ergibt folgende Meldung:
Laufzeitfehler 91 Objektvariable oder With-Blockvariable nicht festgelegt.
Kannst Du mir hierbei bitte helfen?
Gruss
Peter
Anzeige
sorry, aber...
28.09.2019 11:56:20
Oberschlumpf
Hi Peter,
...du könntest eine kleine Bsp-Datei mit Bsp-Daten erstellen und diese per Upload hier zeigen.
Denn nur du weißt, wie deine Datei(en) aufgebaut sind; und ich bin sicher, die - kleine - Bsp-Datei würde vom Aufbau her genau so oder zumindest sehr ähnlich der Originaldatei sein.
Ich hatte es schon öfter erlebt, dass Dateien, von mir "nachgebaut", den jeweils Fragenden nicht helfen konnten, weil sie den VBA-Code nicht an ihre Datei(en) anpassen konnten (andere Zellen, andere Blattnamen, etc).
Meine Hilfe war damit nicht nur, wie üblich, gratis, sondern zudem noch umsonst.
Aber nix desto trotz wünsch ich dir weiter viel Erfolg.
Ciao
Thorsten
Anzeige
AW:anbei Datei
28.09.2019 18:44:39
Peter
Hallo Thorsten,
ich habe die Datei leicht geändert. Sie ist normalerweise wie die Worddatei in einem Ordner. Nur diesen kann ich nicht hochladen.
Die Worddatei liegt auf dem Desktop für den Test
anbei die Datei: https://www.herber.de/bbs/user/132269.xlsm
Gruss
Peter
Das ist klar, da du...
28.09.2019 19:33:12
Case
Hallo Peter, :-)
... in deinem "Private Sub CommandButton4_Click()" die Wordinstanz erstellst, das Worddokument öffnest und dann aber die Objektvariable auf Nothing "Set wordObj = Nothing" setzt. Damit verlierst du die Verbindung zur Instanz! ;-)
Kann dir im Moment nur zeigen, wie du es richtig machst - zum einbauen in deinen Code habe ich keine Zeit: ;-)
Da siehst du wie Word und ein Dokument geöffnet werden und bei Bedarf wieder geschlossen.
Hier wird dir das Prinzip gezeigt...
Servus
Case

Anzeige
AW: Prüfproblem gelöst
29.09.2019 09:02:44
Peter
Hallo Case,
besten Dank für Deine Hilfe. Ich habe das von Dir aufgeführte Muster umgebaut für meine Bedürfnisse.
Es funktioniert jetzt einwandfrei.
Gruss
Peter
AW: AW:anbei Datei
28.09.2019 19:54:56
Oberschlumpf
Hi Peter,
1. ich habe deine Datei geöffnet
2. habe erst mal den Pfad zum Desktop angepasst
3. habe jetzt dein Userform gestartet
4. habe in der ComboBox die Test-Datei ausgewählt (im Textfeld wird auch der richtige Pfad gezeigt)
5. habe auf den Button "gewählte Worddatei öffnen" geklickt
wie gewünscht wird in Word die Test-Worddatei geöffnet; Word wird im Vordergrund angezeigt
6. der Button "Übertrag in geöffnete Worddatei" ist deaktiviert, also klicke ich auf den Button "gewählte Worddatei schliessen"
die Word-Datei wird geschlossen, und auch Word selbst wird beendet
Eigentlich funktioniert doch erst mal alles fast so wie gewünscht.
(ich denke, dass Word im Vordergrund ist, muss so nicht sein, oder?)
Und eigentlich hat Case recht, dass mit Zuweisung von Nothing eine Objekt-Variable die Verbindung zum Objekt, in diesem Fall Word, verliert.
Aber wie gesagt, auf meinem Computer funktioniert alles.
Auch die von dir erwähnten Fehlermeldungen mit Nr 91 + 4160 erscheinen bei mir nicht.
Wie genau soll es nun weitergehen?
Ciao
Thorsten
P.S. ich nutze Office 2016
Anzeige
AW: AW: bei mir weiterhin Fehler
28.09.2019 20:18:21
Peter
Hallo Thorsten,
welchen Pfad hast Du hier angepasst?
Mein Pfad zum Öffnen lautet: C:\Users\Peter\Desktop\Dies ist ein Test.docm wie in TextBox2 angezeigt.
Ich habe jetzt die Zeile: SeSet wordObj = Nothing beim Button öffnen deaktiviert.
Trotzdem Fehlermeldung Laufzeitfehler 4160 ungültiger Dateiname.
Wenn ich mit dem Cursor bei laufendem Makro über die Zeile:
wordObj.Documents(DeinDateiname).Close SaveChanges:=True 'Laufzeitfehler 4160 ungültiger Dateiname
fahre wird der richtige Pfad mit Dateiname angezeigt.
Was soll ich bitte jetzt machen?
Gruss
Peter
Anzeige
AW: AW: bei mir weiterhin Fehler
28.09.2019 20:27:51
Oberschlumpf
Hi Peter,
welchen Pfad hast Du hier angepasst?
Na, aus deinem Pfad "C:\Users\Peter\Desktop\..." habe ich "C:\Users\UserGobi\Desktop\..." gemacht, weil es auf meinem PC keinen User Peter gibt ;-)
Ich weiß leider nicht, was du noch machen könntest. Da ja auf meinem PC soweit alles funktioniert, müsste ich auf deinen PC schauen können, was genau wann und warum passiert.
Ciao
Thorsten

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige