如何为Excel文件SaveAs对话框指定默认目录?

时间:2016-05-13 20:43:08

标签: vb.net excel interop excel-interop

我有一个用户按下并向Excel发送网格的按钮,它将文件保存在我不希望用户有权访问的目录中。 (这是一个隐藏的共享)然后它立即打开文件供用户查看。

我正在使用Microsoft.Office.Interop.Excel命名空间,所以我使用的是Excel应用程序和工作簿。

我希望应用程序从目录中打开文件,但如果用户选择使用SaveAs保存文件(我希望如果用户单击“保存”,则将其视为新文件并打开SaveAs对话框),我想初始目录是类似C:。

以下是一些相关代码:

Public Sub sendToExcel()

        'Code here that exports data to Excel

        Dim xlApp As Excel.Application = New Excel.Application()
        Dim xlWorkbook As Excel.Workbook = xlApp.Workbooks.Open(filePath)

        xlApp.Visible = True

End Sub

我尝试过的最明显的事情就是:

xlApp.DefaultFilePath = "C:\"

这似乎只有在文件是新的(尚未保存)时才有效。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

文件是否必须保存在隐藏的共享中?

如果没有,您可以使用Path.GetTempFileName()将其保存在用户的临时文件夹中,然后从那里用Excel打开它。

这样,当他们“另存为”时,他们只会看到本地临时文件夹作为来源。

当然,这只适用于桌面应用程序。