Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Integrierte Dialogfelder nutzen
#1
Hallo,
ich bin Anfänger in Excel in der VBA Programmierung mit Dialogfeldern

Es geht um folgende zwei Sachen:

1 Sache:
Ich möchte mir die Eigenschaften eines Objekts in Excel über Application.Dialogs(xldialogobjectproperties).show anzeigen lassen

Ich habe mrir nun gedacht, ich markiere ein paar Zellen in Excel auf einem Arbeitsblatt, drücke alt + F11 (Wechsel in den VBE), gehe zum Makro wo der Befehl
Application.Dialogs(xldialogobjectproperties).show steht.
Drücke F5 => Laufzeitfehler 1004"Die Show-Methode des Dialog-Objekts konnte nicht ausgeführt werden"


Wie kann ich den Befehl Application.Dialogs(xldialogobjectproperties).show
in Excel einsetzen, damit mir auch die Eigenschaften eines Objekts über einen Dialog angezeigt werden???
Ein kurzes Bsp. dazu wäre nett. Danke!

2 Sache: Folgender Code ist gegeben
Sub ZeigeFormatZeichenDialog()
  If Application.Dialogs(xlDialogFormatFont).Show(Arg1:="Tahoma", _
      Arg3:="True") = -1 Then
    Cells(2, 2).Value = Selection.Font.Name
   
    If Selection.Font.Bold Then
      Cells(2, 3).Value = "Fett an"
    End If
   End If
 End Sub


Soweit kann ich den Code nachvollziehen. Es geht mir um die Paramter, die nach .Show(Arg1:="Tahomo", Arg3:="True") eingetragen sind und als Werte an das Dialogfenster übergeben werden.

Ich habe herausgefunden, dass das Arg1:="Tahomo" für die Schriftart steht, die gewählte hier "Tahoma" wird im Dialogfenster automatisch eingetragen, ebenso steht Arg3:="True" für den Schriftschnitt Fett (Haken ist im Dialogfenster gesetzt)
Würde ich z. B. noch Arg4:="True" eingeben, dann wäre auch hier ein Haken bei Schriftschnitt Kursiv (im Dialogfenster gesetzt).

► Wie bekomme ich raus, welches Argument für was in dem geöffneten Dialogfenster, hier steht? Z. B. wenn ich jetzt Arg2:= 10 eingebe, durch ausprobieren habe ich rausgefunden, dass dies für den Schriftgrad steht.
Arg10: = ??? Arg6:= ????
Kann man dies irgendwie/irgendwo nachsehen, was die einzelnen Arg...:= bewirken bzw. für was diese stehen? Unterstrichen, Durchgestrichen, Standardschrift... ist Arg...?

MFG
Antworten Top
#2
Hallöchen,

es gibt so einiges in Excel, was man nur mit Hilfe von Google herausfinden kann.

built-in-dialog-box-argument-lists
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo,

meine zweite Frage habe ich inzwischen mit der Hilfe von Google gelöst. Siehe hier
Liste der integrierten Dialogfeldargumente
https://docs.microsoft.com/de-de/office/...ment-lists

zu meiner ersten Frage steht dort:
Dialogfeldkonstante xlDialogObjectProperties
Argumentenliste: placement_type, print_object

D. h. ich muss der Dialogfeldkonstanten als Argument := placement als type oder print als object übergeben.
Nur wie macht man dies????
Antworten Top
#4
Hallo,

zu 1.:

Wenn Du diesen Dialog aufrufen willst, musst Du auch ein Objekt selektieren. Zellen sind für diesen Dialog keine geeigneten Objekte. Argumente sind optional, so dass bei Aufruf ohne Argumente der Istzustand angezeigt wird.

Code:
Sub Demo_Objekteigenschaftendialog()
    ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, 134.4, 103.8, 72, 72).Select
    Application.Dialogs(xlDialogObjectProperties).Show
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • ReddDevil
Antworten Top
#5
Danke für dein Bsp.

Du erstellst praktisch ein Rechteck als Objekt, welches selektiert (markiert) wird und anschließend dessen Eigenschaften angezeigt werden.

Allerdings bleibt bei mir die Frage, wie ich das mit den Dialogfenstern mache, wenn ich

eine Dialogfeldkonstante als Argument := placement als type oder print als object übergebe ???
Antworten Top


Gehe zu:


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