PDA

Vollständige Version anzeigen : Dialog Abbruch wird nicht erkannt


C-J
18.08.2009, 12:36
Hallo zusammen, :)
ich habe eine Frage zu den Dialogen in Word.

Diese Zeile hier wird korrekt interpretiert. D.h. wenn 'Abbruch' gedrückt wurde, wird das Makro beendet.
If Dialogs(wdDialogInsertPicture).Show = 0 Then Exit Sub


Mit exakt dem selben Code, aber nur ein anderer Dialog funktioniert das nicht!? der "Folgecode" wird gnadenlos ausgeführt .. aber nach was anderem kann ich ja gar nicht fragen :( .. außer nach der '0'
If Dialogs(wdDialogInsertCrossReference).Show = 0 Then Exit Sub

Weiß jemand eine Antwort darauf?

Gruß,
CJ

BA_LI
18.08.2009, 12:45
0 ist in Deinem Fall Abbrechen oder?
Versuch es mal so:

If Dialogs(wdDialogInsertCrossReference).Show = -2 Then Exit Sub

C-J
18.08.2009, 12:57
klappt :) komisch?

Dankeee!

PapaSchlumpf
18.08.2009, 13:54
Hallo Christoph,

die Hilfe (Word2000) sagt dazu
Show-Methode


Zeigt Aktionen an, die im angegebenen integrierten Word-Dialogfeld gestartet wurden, und führt sie aus. Gibt ein Long zurück, das angibt, auf welche Schaltfläche zum Schließen des Dialogfelds geklickt wurde.

Rückgabewert Beschreibung
-2 Die Schaltfläche Schließen.
-1 Die Schaltfläche OK.
0 (Null) Die Schaltfläche Abbrechen.
> 0 (Null) Eine Befehlsschaltfläche: 1 ist die erste Schaltfläche, 2 die zweite usw.

die Dialoge scheinen aber Abbrechen und Schließen teilweise synonym zu verwenden (leidiges Thema Dialoge :(

Gruß
Christian

C-J
18.08.2009, 14:31
Hallo Christian,
danke für die Erklärung!


Zum Thema leidige Dialoge :D

Ich bin halt immer noch mit Verweisen beschäftigt ... hatten wir ja besprochen.

Momentan versuche ich diesen CrossReference Dialog mit SendKeys zu überlisten, dass er meinen gewünschten ReferenceType als Vorauswahl anbietet.

Hier mien Code:
Sub Test_cross3() 'für Bilder
With Dialogs(wdDialogInsertCrossReference)
SendKeys "%tb"
SendKeys "{enter}"
SendKeys "%r"
SendKeys "{up 10}"
SendKeys "{down 4}"
'SendKeys "{enter 2}"
.Show
End With
End Sub


Zur Erklärung: Die 10 Schritte 'up' sind nur dazu da, dass er immer von ganz oben die 4 Schritte nach unten macht (ohne das geht er nämlich beim nächsten Öffnen des Dialog noch mal 4 Schritte tiefer –wenn er denn könnte–).

Jetzt mein Problem:
Meine eigenen Referencen, die ich gerne als Vorauswahl anbieten möchte stehen am Ende der Liste. Ich kann aber von mir aus 10.000 Schritte nach unten angeben, das Ding geht zum verrecken nicht tiefer als 'Endnote' .. da krieg ich echt zu viel bei. Es gibt für speziell diesen Dialog scheinbar nicht die geringste Möglichkeit ihn mit eigenen Referenzen zu befüllen!? Sprich die am Ende der Word-Standard-Verweis Liste kommen (halt die eigenen)

Ich weiß nicht ob Du noch Zeit hattest dir meine Antwort von heut Morgen (per Mail) durchzulesen, aber jetzt herrscht hier völliger Stillstand.
Ich weiß nicht was ich machen soll?
Entweder ich kämpf mich da jetzt durch diesen verdammten Dialog, oder ich hoffe dass Deine Userform doch noch ans Laufen kommt. Momentan fügt sie halt immer den selben Verweis ein, egal was ich auswähle ... aber in der Userform würde vielleicht das mit SendKeys funktionieren. :)


Gruß,
Christoph

PapaSchlumpf
18.08.2009, 15:30
Fehler ist behoben und unterwegs.

Den Dialog wirst du nicht richtig in den Griff bekommen, da fast alle Parameter nicht unterstützt werden. Und SendKeys ist immer problematisch (wenn z.B. mal der Fukus verrutscht...)

Daher auch mein Nachbau des Dialogs.
Sollte also jetz klappen.

Gruß
Christian

C-J
18.08.2009, 16:48
Hallo Christian,
danke für Deine Bemühungen!! :)

Mir fällt echt ein Stein vom Herzen ...

Ich werde das Morgen früh direkt ausprobieren und Dir dann Bescheid geben, wie es gelaufen ist.

Das mit dem Dialog ist nicht das Einzige, was ich jetzt speziell an Word 2007 auszusetzen habe. Kann ja sein, dass der Dialog in den anderen Versionen auch nicht richtig mit VBA kontrollierbar ist, aber ich habe mit den anderen Versionen noch nie nennenswerte Probleme mit der Bildschirmanzeige gehabt und was ganz schlimm ist, dass ich in W2007 massive Probleme habe, wenn ich etwas Text markiere und dann die Markierung verändern will.
Dann springen Buchstaben durch die Gegend, aber nicht die markierten ... ich muss mal versuchen diesen Effekt genau zu verfolgen und zu reproduzieren ... es ist mit 99% Sicherheit kein Anwenderfehler ..

LG,
Christoph