Schaltfläche funktioniert nicht für Word-Sheet
#1
Hallo Forum

Bin im "Jahres-Endspurt"....

Ich habe da eine Wordvorlagen, allerdings Version 97, die ich über eine Schaltfläche öffnen will.

Excel medet mir, dass es ungültiges Dateiformat vorliegt.

Sub Schaltfläche187_Klicken()
Workbooks.Open "C:\xxxx\Urlaub.dot"
End Sub


Die Datei ist gesichert, ich kann sie nicht anpassen. Bei Umspeichern auf dotx wird mir ein Teil des Dokumentes abgeschnitten, weil die Abstände nciht mehr stimmen. Die Sicherung kann ich nicht umgehen, so dass ich das alte Formular verwenden muss.

Wie bekomme ich das hin, dass das Word-Sheet sich über Befehl der Schaltfläche  öffnet?

LG
cuba
Top
#2
Hallo!

Du kannst mit "Workbooks.Open" keine Word-Datei öffnen, denn eine Worddatei ist nun mal keine Arbeitsmappe.

Gruß, René
Top
#3
Hallo René

Das habe ich auch gemerkt :19:

Darum die Frage, wie das geht, dass ich über eine Schaltfläche eine Worddatei öffnen kann.

PS: Bin kein VBA'Spezialist....

Gruss
cuba
Top
#4
Hmmm....

Habe es gleich gelöst, wie mit dem PDF. Habe einen Link eingefügt, basta!!!!

Gruss
cuba
Top
#5
Hi,

(23.12.2015, 14:35)cuba schrieb: Darum die Frage, wie das geht, dass ich über eine Schaltfläche eine Worddatei öffnen kann.

bei mir klappt es so:
Option Explicit

Sub Vorlage_öffnen()
   Dim oWord_App As Object
   Dim bWordVorhanden As Boolean
   
   On Error GoTo OpenError
   Set oWord_App = GetObject(Class:="Word.Application")     ' Gucken, ob Word offen ist 
   
  
   ' alte Vorlage ohne Makros:                              ' neuer Pfad 
   oWord_App.Documents.Add Template:="C:\temp\xxx.dotx" _
       , NewTemplate:=False, DocumentType:=0
   Exit Sub
   
OpenError:    ' Word war nicht offen, also dann bitte öffnen 
   On Error GoTo CreateError
   Set oWord_App = CreateObject(Class:="Word.Application")
   oWord_App.Visible = True                                 ' Dies gegebenenfalls rausnehmen, wenn man unsichtbar arbeiten will 
   
   '   Veränderung Uwe Küstner 
   oWord_App.WindowState = 1
   '   ********* 
   bWordVorhanden = False
   Resume Next
   Application.ScreenUpdating = True
   Exit Sub
CreateError:
   ' Word ist nicht vorhanden 
   MsgBox "Kein Word vorhanden"
   ' Word_Connect = False 
   Application.ScreenUpdating = True
End Sub

Sub Dokument_öffnen()
   Dim oWord_App As Object
   Dim bWordVorhanden As Boolean
   Dim strFile As String
   
   On Error GoTo OpenError
   Set oWord_App = GetObject(Class:="Word.Application")     ' Gucken, ob Word offen ist 
   
   strFile = Range("G1")                                    ' G1 = Pfad + Dateiname 
   oWord_App.Documents.Open strFile                         ' öffnen Word Dokument 
   Exit Sub
   
OpenError:    ' Word war nicht offen, also dann bitte öffnen 
   On Error GoTo CreateError
   Set oWord_App = CreateObject(Class:="Word.Application")
   oWord_App.Visible = True                                 ' Dies gegebenenfalls rausnehmen, wenn man unsichtbar arbeiten will 
   
   '   Veränderung Uwe Küstner 
   oWord_App.WindowState = 1
   '   ********* 
   bWordVorhanden = False
   Resume Next
   Application.ScreenUpdating = True
   Exit Sub
CreateError:
   ' Word ist nicht vorhanden 
   MsgBox "Kein Word vorhanden"
   ' Word_Connect = False 
   Application.ScreenUpdating = True
End Sub


VBA/HTML - CodeConverter für Office-Foren, AddIn für Excel/Word 2000-2013 - komplett in VBA geschrieben von Lukas Mosimann. Projektbetreuung durch mumpel

Code erstellt und getestet in Office 15

Top
#6
oder

Code:
Sub Schaltfläche187_Klicken()
  with getobject("C:\xxxx\Urlaub.dot")
    '--- - - - - - -
  end with
End Sub

oder
Code:
Sub Schaltfläche187_Klicken()
  with createobject("Word.Application")
     .documents.open "C:\xxxx\Urlaub.dot"
  end with
End Sub
oder
Code:
Sub Schaltfläche187_Klicken()
  createobject("Word.Application").documents.open "C:\xxxx\Urlaub.dot"
End Sub
oder
Code:
Sub Schaltfläche187_Klicken()
  with createobject("Word.Application")
     .documents.add "C:\xxxx\Urlaub.dot"
  end with
End Sub
Top
#7
Hallo

Habe die Varianten geprüft, aber das funktioniert nicht. Wo liegt der Fehler?

LG
cuba


Angehängte Dateien
.xlsm   CUBA TEST Word.xlsm (Größe: 14,98 KB / Downloads: 2)
Top
#8
(24.12.2015, 13:59)cuba schrieb: Habe die Varianten geprüft, aber das funktioniert nicht. Wo liegt der Fehler?

1.) daß Du nicht meine Makros getestet hast?
2.) hast Du echt die "xxx" in dem Pfad und dem Dateinamen drin?

Ich habe jetzt gerade eben hier nochmal meine oben gezeigten Makros getestet und es funktioniert sowohl mit Vorlage (Pfad und Deiteinamen im Makro), als auch mit 'ner Datei (Pfad und Deiteinamen stehen in G1).

Außerdem solltest Du langsam wissen, daß ein "funktioniert nicht" keine Hinweise zur Lösungsfindung geben kann!

Hier Deine Datei mit meinen bei mir funktionierenden Makros und zwei Buttons:

.xlsm   CUBA TEST Word - Rabe.xlsm (Größe: 16,83 KB / Downloads: 3)
Top
#9
(24.12.2015, 15:06)Rabe schrieb: 1.) daß Du nicht meine Makros getestet hast?
2.) hast Du echt die "xxx" in dem Pfad und dem Dateinamen drin?

Ich habe jetzt gerade eben hier nochmal meine oben gezeigten Makros getestet und es funktioniert sowohl mit Vorlage (Pfad und Deiteinamen im Makro), als auch mit 'ner Datei (Pfad und Deiteinamen stehen in G1).

Außerdem solltest Du langsam wissen, daß ein "funktioniert nicht" keine Hinweise zur Lösungsfindung geben kann!

Hier Deine Datei mit meinen bei mir funktionierenden Makros und zwei Buttons:

Hallo Ralf

Bitte nicht "böse" sein, aber ich bin nun mal kein VBA'ler.

Auf jeden Fall vielen Dank für Deine Lösungen, sie funktionieren in Deinem Beispiel tatsächlich....

NUR: Wie machst Du den Einstieg? Wenn ich eine Schalffläche erstelle, kommt dann der Code
Sub SchaltflächeX_Klicken()

End Sub

Muss ich das alles mit Deienm Code überschreiben oder verstehe ich da etwas total falsch?

LG
cuba
Top
#10
Hi,

(24.12.2015, 15:12)cuba schrieb: Bitte nicht "böse" sein, aber ich bin nun mal kein VBA'ler.
...
Muss ich das alles mit Deienm Code überschreiben oder verstehe ich da etwas total falsch?

nene, böse bin ich natürlich nicht.
Bei mir passiert bei den Codes von snb auch nur, daß im Taskmanager dann x mal ein Prozeß für Word drin steht. Word wird mit den Dokumenten nicht angezeigt.

Zur VBA Button-Vorgehensweise:
Es gibt zwei verschiedene Typen von Schaltflächen:
  1. die als Formular-Steuerelement, die Du genommen hast, wo dann "SchaltflächeX_Klicken" kommt.
    • Da kannst Du gleich das Makro von mir auswählen
    • oder als zweite Möglichkeit: Du schreibst dann zwischen das "Sub SchaltflächeX_Klicken()" und das "End Sub" rein: Call Vorlage_öffnen oder Call Dokument_öffnen
    • oder als dritte Möglichkeit: Du fügst stattdesssen das, was bei meinem Makro zwischen "Sub Vorlage_öffnen()" und "End Sub" steht, ein.
  2. Ich halte die zweite Möglichkeit für die Beste.
  3. die als Active-X Element, das ist ein CommandButton, dort kannst Du dann ebenfalls die zweite oder die dritte Möglichkeit nutzen.
Hier die [
Dateiupload bitte im Forum! So geht es: Klick mich!
] mit Formular-Buttons nach Methode 2 verknüpft.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste