Discussion:
Word 2010 - Dialogs(wdDialogFormatPicture).Display funktioniert nicht
(zu alt für eine Antwort)
Claudia
2016-05-18 17:33:03 UTC
Permalink
Hallo Word-Gemeinde,

ich habe hier ein Problem mit der Anzeige eines internen Dialogfensters.

Der User soll eine Grafik/Foto/Bild markieren und dann über eine Schaltfläche das Dialogfenster "Grafik formatieren" angezeigt bekommen, wo er dann einen Alternativtext für die Grafik eingeben kann.

Meine Makro sieht so aus:

If (Selection.InlineShapes.Count > 0) Then
Dialogs(wdDialogFormatPicture).Display
End If

Erst prüfe ich, ob eine Grafik markiert ist, der Rückgabewert ist 1 (ist also eine markiert), er geht dann auch befehlsmäßig weiter, aber dann kommt die Fehlermeldung:

Laufzeitfehler 4605 - Die Methode oder Eigenschaft ist nicht verfügbar, weil die aktuelle Markierung keine Grafik ist.

Ich habe schon unterschiedliche Grafiken markiert (Foto, Logos, Cliparts) - kommt immer der Fehler.

Mein PC ist mit Windows 7 und Word 2010 bestückt.

Vielen Dank für Eure Hilfe

Grüße
Claudia
Wolfram Jahn
2016-05-18 18:44:38 UTC
Permalink
Post by Claudia
weil die aktuelle Markierung keine Grafik ist.
Ohne es ausprobiert zu haben würde ich mal raten, dass sowas fehlt wie

Selection.InlineShapes(1).Select

oder vielleicht noch eine Ebene tiefer rein, solange bis die aktuelle
Markierung nach Meinung von Word eine Grafik ist.


Wolfram
Bernhard Sander
2016-05-19 11:10:38 UTC
Permalink
Hallo Claudia,
Post by Claudia
If (Selection.InlineShapes.Count > 0) Then
Dialogs(wdDialogFormatPicture).Display
End If
Laufzeitfehler 4605 - Die Methode oder Eigenschaft ist nicht verfügbar, weil die aktuelle Markierung keine Grafik ist.
Microsoft hat an dieser Stelle den Umstieg auf das neuere Dateiformat nicht vollzogen:
http://answers.microsoft.com/en-us/office/forum/office_2010-customize/open-newer-format-picture-dialog-with-vba/9928a407-8358-4601-92e4-3bd2b9a1c7d7?db=5

Wenn Du das Dokument im alten Format (.doc) speicherst, erscheint zwar ein Dialog, der sieht aber ganz anders aus.

Gruß
Bernhard Sander
Claudia
2016-05-20 07:56:14 UTC
Permalink
Post by Claudia
Hallo Word-Gemeinde,
ich habe hier ein Problem mit der Anzeige eines internen Dialogfensters.
Der User soll eine Grafik/Foto/Bild markieren und dann über eine Schaltfläche das Dialogfenster "Grafik formatieren" angezeigt bekommen, wo er dann einen Alternativtext für die Grafik eingeben kann.
If (Selection.InlineShapes.Count > 0) Then
Dialogs(wdDialogFormatPicture).Display
End If
Laufzeitfehler 4605 - Die Methode oder Eigenschaft ist nicht verfügbar, weil die aktuelle Markierung keine Grafik ist.
Ich habe schon unterschiedliche Grafiken markiert (Foto, Logos, Cliparts) - kommt immer der Fehler.
Mein PC ist mit Windows 7 und Word 2010 bestückt.
Vielen Dank für Eure Hilfe
Grüße
Claudia
Hallo Bernhard, hallo Wolfram,

vielen Dank für Eure Rückmeldungen, geprüft ist ja, ob ein Shape markiert ist :-). Wenn allerdings der Befehl in Word 2010 nicht mehr zur Verfügung steht, dann habe ich Pech (Danke Bernhard für den Link). Werde wohl den Umweg über einen Input-Dialog gehen und es dann über VBA eintragen lassen.

Viele Grüße
Claudia
Rainer H. Rauschenberg
2016-05-21 10:51:13 UTC
Permalink
Post by Claudia
Post by Claudia
If (Selection.InlineShapes.Count > 0) Then
Dialogs(wdDialogFormatPicture).Display
End If
geprüft ist ja, ob ein Shape markiert ist :-).
Nein, geprüft wird, ob mindestens 1 InlineShape in der Markierung liegt,
die Markierung kann sehr wohl mehr umfassen. Genau 1 InlineShape (und
sonst nix) umfasst die Markierung, wenn

(selection.range.Start = Selection.InlineShapes(1).Range.Start) and (selection.range.end = Selection.InlineShapes(1).Range.end)
Wolfram Jahn
2016-05-22 17:18:25 UTC
Permalink
Post by Rainer H. Rauschenberg
enau 1 InlineShape (und
sonst nix) umfasst die Markierung, wenn
(selection.range.Start = Selection.InlineShapes(1).Range.Start) and (selection.range.end = Selection.InlineShapes(1).Range.end)
Völlig korrekt.

Leider lässt sich der Dialog auch dann nicht aufrufen, wenn obige
Bedingung wahr ist.

Wolfram

Lesen Sie weiter auf narkive:
Loading...