Hallo,
ich möchte in meinem Programm den Namen für den SaveAs-Dialog in Word vorbelegen.
Ich habe volgenden Code gefunden, der auch funktioniert:
dynamic dialog = this.Application.Dialogs[WdWordDialog.wdDialogFileSummaryInfo];
dialog.Title = name;
dialog.Execute();
So. Ich habe festgestellt, dass
this.Application.Dialogs[WdWordDialog.wdDialogFileSummaryInfo]
den Typ Microsoft.Office.Interop.Word.Dialog zurückgibt. Aber an diesem Typ gibt es keine Eigenschaft "Title"!
Wieso geht das dann mit dynamic? Kann mir das bitte mal jemand erklären!
Google hilft dir dabei:
WdWordDialog Enumeration (Word)
Dort steht auch unter wdDialogFileSummaryInfo, dass es ein Title gibt.
dynamic wird hier wohl auf den entsprechend Dialogtypen umgewandelt.
Dieser hat dann auch ein Title Member, den du ja benutzt.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Hallo,
erstmal Danke.
Wie bekomme ich den heraus, in welchen Typ ich das Object casten muss um an die Eigenschaften heran zu kommen?
Ich würde gerne dynamic weg lassen.
Hier müsstest du den jeweiligen Formtypen kennen.
Dein Applications.Dialogs dürfte ein Array/Liste von Microsoft.Office.Interop.Word.Dialog sein.
Hier müsstest du nun dein dynamic in den entsprechenden Typen casten, damit dein Vorhaben klappt.
Den konkreten Typen kenn ich leider nicht.
Hier musst du mal googeln bzw. bei dem entsprechenden Link weiterschauen, den ich gepostet hatte.
dynamic ist meines Wissens auch zum Arbeiten mit COM gedacht.
Ob es hier richtig ist, mit dynamic zu arbeiten glaube ich nicht.
Entweder du nimmst var oder eben direkt den konkreten Typen.
Ob der Compiler den Typen dann auch korrekt auflöst, kann ich dir nicht sagen.
Kannst du aber mit einer einfach Umstellung selbst testen.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.