ss7
ss7

Reputation: 3012

SaveFileDialog InitialDirectory

I have an Outlook 2013 Addin written with VSTO and VS2013. I have a save file dialog where I set Initial Directory to a network mount. Saving to the path with MailItem.SaveAs() works, but when I use it with saveFileDialog1.InitialDirectory = "W:/etc/etc/"; I just get my Documents library as the Initial Directory. Why might it not work?

Here is the relevant code:

        SaveFileDialog saveFileDialog1 = new SaveFileDialog();
        saveFileDialog1.FileName = filename;
        saveFileDialog1.InitialDirectory = path;
        saveFileDialog1.AddExtension = false;
        saveFileDialog1.CheckFileExists = true;
        saveFileDialog1.DefaultExt = "\".mht\"";
        saveFileDialog1.Filter = "\"MHT Files|*.mht|All Files|*.*\"";

        DialogResult result = saveFileDialog1.ShowDialog();

That's all the pertinant code. FileName works fine, and path is in the format "W:/Folder/Folder/"

Thanks

Upvotes: 1

Views: 3261

Answers (2)

Oddmar Dam
Oddmar Dam

Reputation: 719

Seems InitialDirectory does not accept / in the path but requires backslash

This example works for me.

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.FileName = "c:/temp/somefilename.txt";
saveFileDialog1.InitialDirectory = "c:\\temp\\";
saveFileDialog1.AddExtension = false;
saveFileDialog1.CheckFileExists = true;
saveFileDialog1.DefaultExt = "\".mht\"";
saveFileDialog1.Filter = "\"MHT Files|*.mht|All Files|*.*\"";

DialogResult result = saveFileDialog1.ShowDialog();

Upvotes: 3

Oddmar Dam
Oddmar Dam

Reputation: 719

Have a look at this article about String literals

You should either use double back slashes if you want one backslash

saveFileDialog1.InitialDirectory = "W:\\etc\\etc\\";

or use the @ sign:

saveFileDialog1.InitialDirectory = @"W:\etc\etc\";

Also you should set the RestoreDirectory in order to set the working directory back to your application directory. Check this link for reference

saveFileDialog1.RestoreDirectory = true;

Upvotes: 2

Related Questions