【问题标题】:Errors Opening FileDialog SaveAs in Outlook using VBA and Excel使用 VBA 和 Excel 在 Outlook 中打开 FileDialog SaveAs 时出错
【发布时间】:2018-07-13 00:18:14
【问题描述】:

我正在尝试在 OUTLOOK(MS Office 2013 或 2016)中打开另存为文件对话框。由于 Outlook 不支持 FileDialogs,我使用 Excel(这似乎是基于数十次搜索的首选方法)。

我已经成功打开了 FilePicker 对话框 (msoFileDialogFilePicker) 并打开了文件,但我无法让它在 SaveAs 对话框 (msoFileDialogSaveAs) 中工作。

谁能解释为什么 SaveAs 不起作用,但 FilePicker 起作用。或者,有人可以解释我做错了什么。

这里是一些示例代码。这些都有效:

Dim xlobj As Excel.Application
Set xlobj = New Excel.Application

Dim objDialog As FileDialog
Set objDialog = xlobj.FileDialog(msoFileDialogOpen)  'This WORKS
Set objDialog = xlobj.FileDialog(msoFileDialogFolderPicker)  ' This Works too
Set objDialog = xlobj.FileDialog(msoFileDialogFilePicker) ' This also works

objDialog.Show

但是,当我尝试使用 msoFileDialogSaveAs 时出现错误(错误 - 自动化错误远程过程调用失败)。

Dim xlobj As Excel.Application
 Set xlobj = New Excel.Application

 Dim objDialog As FileDialog
 Set objDialog = xlobj.FileDialog(msoFileDialogSaveAs) ' This throws ERROR???

我欢迎任何想法或见解。

非常感谢,

DGP

PS。如果它相关。用户需要将他们的一些电子邮件信息保存在法律文件夹中。我已经建立了一种使用发件人或收件人和日期戳作为文件名直接保存它们的方法。对于这个用例,他们需要一个文件对话框,以便他们可以手动命名要保存的文件。

【问题讨论】:

  • 另存为什么?你在保存什么?只有应用程序实例没有工作簿。为应用程序添加/打开工作簿,然后尝试调用 SaveAs 对话框。
  • 我们正在尝试保存 Outlook 邮件。我只使用 Excel,因为 Outlook 不支持 FileDialog 使用。
  • 要使用另存为,您需要打开工作簿。在裸应用程序对象上它会抛出错误。简单。
  • 好的。我想这有点道理。那么,有谁知道如何从 Outlook 打开另存为文件对话框?

标签: excel vba outlook filedialog


【解决方案1】:

Outlook VBA 可以使用 ExecuteMso 模拟按钮按下。

Private Sub ExecuteMso_FileSAveAs()

    Dim currItem As Object

    Set currItem = ActiveInspector.currentItem

    ' Hover over the icon that you would add as a button
    ' The IdMso to use in ExecuteMso is the last part of the text displayed.
    ActiveInspector.CommandBars.ExecuteMso ("FileSaveAs")

End Sub

【讨论】:

  • 这很有趣。我会看看我是否可以利用这一点。谢谢!
  • Niton。再次感谢您提供此信息。是否可以在打开时将 FileFolder 设置为特定目录?我的部分挑战是用户希望被带到一个文件夹,该文件夹是特定法律事务的特定存储位置。
  • CommandBars.ExecuteMso Method所示,该方法用于按钮按下。
  • 您可以建议桌面上文件夹的快捷方式,用户可以在其中拖动邮件副本。
猜你喜欢
  • 1970-01-01
  • 2011-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-07
相关资源
最近更新 更多