Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Kontrolle einer Word-Messagebox durch Excel | Herbers Excel-Forum


Betrifft: Kontrolle einer Word-Messagebox durch Excel von: Klaus
Geschrieben am: 14.10.2008 14:42:25

Hallo Freunde,

Ich möchte gerne in einer Excel-Routine ein Worddokument öffnen, und eine Meldung (Messagebox) die beim Öffnen dieses Worddokumentes angezeigt wird kontrollieren.
Das Worddokument enthält im Word Object "ThisDocument" für das Event Öffnen folgenden Code:


Private Sub Document_Open()
    Dim msgYesNo As String
    msgYesNo = MsgBox("Möchten Sie die Charts aktualisieren?", vbYesNo)
    If msgYesNo = 6 Then
        Call ChartsUpdate       'User hat Yes geklickt und eine Routine wird ausgeführt
    Else
        Exit Sub
    End If
End Sub



Die Messagebox die hier erscheint soll den User die Option geben, das Dokument zu aktualisieren.
Die Excel-Routine, die ich schreiben möchte soll die Word-Prozedur "ChartsUpdate" aufrufen und dem User keine Option geben. Die Messagebox soll dabei ignoriert werden (d.h. sie soll nicht angezeigt werden)

Habt ihr vielleicht eine geniale Idee, wie ich das bewerkstelligen könnte.

Vielen Dank für eure Hilfe

Klaus

  

Betrifft: AW: Kontrolle einer Word-Messagebox durch Excel von: Heinz
Geschrieben am: 14.10.2008 15:25:09

Private Sub Document_Open()
     Call ChartsUpdate             
End Sub



mfg Heinz


  

Betrifft: AW: Kontrolle einer Word-Messagebox durch Excel von: Chris
Geschrieben am: 14.10.2008 15:35:28

Servus,

Private Sub Document_Open()
    Dim msgYesNo As String
    Dim myExcel As Object, xlCheck1 As Boolean, xlNameCheck As Boolean
    
    xlCheck1 = False
    
    On Error Resume Next
    
    Set myExcel = GetObject(, "excel.application")
    
    If Not myExcel Is Nothing Then xlCheck1 = True
    
    If xlCheck1 Then
      For i = 1 To myExcel.Workbooks.Count
          If myExcel.Workbooks(i).Name = "test.xls" Then
             xlNameCheck = True
          End If
      Next i
      If xlNameCheck Then
         Call ChartUpdate
         Exit Sub
      End If
    End If
    Set myExcel = Nothing

    msgYesNo = MsgBox("Möchten Sie die Charts aktualisieren?", vbYesNo)
    If msgYesNo = 6 Then
        Call ChartUpdate       'User hat Yes geklickt und eine Routine wird ausgeführt
    Else
        Exit Sub
    End If
End Sub



in die .doc

und

Sub WordDateiStarten()
CreateObject("Word.application").documents.Open("C:\Documents and Settings\stadter\Desktop\dok1.doc").Application.Visible = True
End Sub



in die Exceldatei mit dem namen test.xls

somit bleibt die Funktion der Abfrage bei der .doc Datei beim Öffnen erhalten, wenn keine Datei mit dem Namen test.xls geöffnet ist.

Die Namen und Pfade musst du anpassen.

Evtl. bringt dich das weiter.

Gruß

Chris


Beiträge aus den Excel-Beispielen zum Thema "Kontrolle einer Word-Messagebox durch Excel"