Benutzer mit den meisten Antworten
Problem mit ShowSaveAsDialog

Frage
-
Hallo,
ich möchte dass wenn der User auf Save (e.g. die Diskette im Menü) klickt der save as dialog erscheint. Dies sollte doch eigentlich mit folgendem Code möglich sein:
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisDocument_Startup);
this.Shutdown += new System.EventHandler(ThisDocument_Shutdown);
this.BeforeSave += new Microsoft.Office.Tools.Word.SaveEventHandler(ThisDocument_BeforeSave);
}void ThisDocument_BeforeSave(object sender, Microsoft.Office.Tools.Word.SaveEventArgs e)
{
e.ShowSaveAsDialog = true;
}Leider erscheint der save as dialog trotdem nicht.
(Doku zum Parameter: http://msdn.microsoft.com/de-de/library/microsoft.office.tools.word.saveeventargs.showsaveasdialog(VS.80).aspx)
Ich arbeite auf Dokumentenebene mit Word2003 in VisualStudio2008 Professional und möchte dass der User das Template nicht direkt überschreibt sondern der Saveas dialog kommt. Gibt es hierfür vielleicht eine andere Möglichkeit? Eine weitere Idee wäre über e.close = true und danach den normalen saveas dialog aufrufen, aber wie kann ich den saveas dialog aufrufen?
Danke, Metapsychologe
Antworten
-
Danke für die Antwort, aber ich glaube ich habe eine für mich bessere Lösung gefunden:
void ThisDocument_BeforeSave(object sender, Microsoft.Office.Tools.Word.SaveEventArgs e)
{
if (e.ShowSaveAsDialog == false)
{
object missing = null;
this.Application.Dialogs[Microsoft.Office.Interop.Word.WdWordDialog.wdDialogFileSaveAs].Show(ref missing);
e.Cancel = true;
}
}- Als Antwort markiert Metapsychologe Freitag, 23. Juli 2010 08:15
Alle Antworten
-
Hallo,
Hallo,
ich möchte dass wenn der User auf Save (e.g. die Diskette im Menü) klickt der save as dialog erscheint. Dies sollte doch eigentlich mit folgendem Code möglich sein:
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisDocument_Startup);
this.Shutdown += new System.EventHandler(ThisDocument_Shutdown);
this.BeforeSave += new Microsoft.Office.Tools.Word.SaveEventHandler(ThisDocument_BeforeSave);
}void ThisDocument_BeforeSave(object sender, Microsoft.Office.Tools.Word.SaveEventArgs e)
{
e.ShowSaveAsDialog = true;
}Leider erscheint der save as dialog trotdem nicht.
Es scheint, als würde dieses Argument nicht ausgewertet, sondern nur Information darüber liefern, ob der Save As Dialog angezeigt werden sollte.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Bearbeitet Thorsten Dörfler Freitag, 23. Juli 2010 08:36
-
Danke für die Antwort, aber ich glaube ich habe eine für mich bessere Lösung gefunden:
void ThisDocument_BeforeSave(object sender, Microsoft.Office.Tools.Word.SaveEventArgs e)
{
if (e.ShowSaveAsDialog == false)
{
object missing = null;
this.Application.Dialogs[Microsoft.Office.Interop.Word.WdWordDialog.wdDialogFileSaveAs].Show(ref missing);
e.Cancel = true;
}
}- Als Antwort markiert Metapsychologe Freitag, 23. Juli 2010 08:15