Outlook 代码中的 Excel FilePicker 对话框在后台打开

2024-04-28

我开发了一个 Outlook 宏,让用户选择并打开 Excel 文件。

文件对话框在后台打开。对于用户来说,Outlook 应用程序似乎被卡住了,而它只是在等待用户在所有其他窗口后面的文件选择器对话框中选择文件。

Dim SigFolder2 As String
Dim fd As Office.FileDialog
Dim selectedItem As Variant
Dim ExcelFileName As String
Dim FileName As String
Dim objExcel As New Excel.Application
Dim exWb As Excel.Workbook

'Suggested Folder--Downloads
SigFolder2 = "C:\Users\" & Environ("UserName") & "\Downloads\"

'Dialog Settings

Set fd = objExcel.FileDialog(msoFileDialogFilePicker)
With fd
    .Filters.Clear
    .InitialFileName = SigFolder2
    .AllowMultiSelect = False
    .Title = "Select Signature File"
End With

'Getting the file
If fd.Show = -1 Then
    For Each selectedItem In fd.SelectedItems
        SigFolder = selectedItem
    Next
Else
    Exit Sub
End If

ExcelFileName = SigFolder
FileName = Left(fso.GetFileName(ExcelFileName), InStr(fso.GetFileName(ExcelFileName), ".") - 1)
Debug.Print ExcelFileName 'file Path with filename

有什么办法可以纠正这个问题吗?


该问题是由于 Excel 窗口不了解 Outlook 窗口的任何信息而引起的。如果您希望子窗口对话框始终位于另一个窗口之上,则必须将父窗口设置为子窗口对话框。例如:

Public Declare Function SetForegroundWindow _
Lib "user32" (ByVal hwnd As Long) As Long

Public Sub Bring_to_front()
    Dim setFocus As Long

    ThisWorkbook.Worksheets("Sheet1").Activate
    setfocus = SetForegroundWindow(Application.hwnd)
End Sub

在你的情况下,它将是一个对话框窗口:

Private Declare Function FindWindowA Lib "user32" (ByVal class As String, ByVal caption As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal win As Long) As Long

Dim hxl As Long

Set objExcel = New Excel.Application
Set fd = xl.FileDialog(msoFileDialogFilePicker)
hxl = FindWindowA("XLMAIN", "Excel")
If (hxl <> 0) Then
    res = SetForegroundWindow(hxl)
End If
With fd
.Filters.Clear
 .InitialFileName = SigFolder2
 .AllowMultiSelect = False
 .Title = "Select Signature File"
End With
res = fd.Show
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Outlook 代码中的 Excel FilePicker 对话框在后台打开 的相关文章

  • 在 OpenXML 中应用数字格式

    我正在尝试使用 OpenXML 从头开始 创建 Excel 电子表格 并且一切正常 将实际值转储到实际单元格中 但现在我正在尝试将数字格式应用于列 但遇到了问题 我有styles xml看起来像这样
  • Excel Q - 带有二维数组的 SUMIFS

    我有一个二维数组 水平轴上的日期和垂直轴上的标识号 我想要以特定日期和 ID 为条件的总和 并且我想知道如何使用 SUMIFS 来执行此操作 由于某种原因 我似乎不能 因为数组是二维的 而标准范围是一维的 谁能给我关于我可以使用的其他公式的
  • Excel VBA - 循环文件夹中的文件、复制范围、粘贴到此工作簿中

    我有 500 个包含数据的 Excel 文件 我会将所有这些数据合并到一个文件中 实现此目标的任务列表 我想循环遍历文件夹中的所有文件 打开文件 复制此范围 B3 I102 将其粘贴到活动工作簿的第一张工作表中 重复但在下面粘贴新数据 我已
  • 有没有办法使用 openpyxl 或 xlsxwriter 保护工作簿?

    我正在尝试自动化 Excel 报告 并且我希望用户不要尝试重命名或重新排序工作表 虽然我使用 xlsxwriter 保护单个单元格没有问题 但我没有看到保护工作簿本身的选项 我正在寻找 openpyxl 但教程似乎没有任何效果 编辑 我现在
  • 更改索引设置访问 VBA

    我正在尝试自动化 Access 中的流程 我希望自动化的步骤之一是更改表中某些字段的索引设置 我需要这样做来提高后续查询的速度 使用索引查询速度大约快 100 倍 无论如何 假设我的表名为 Cars 如下所示 ID Name Charact
  • 双击打开 Excel 工作簿时,Excel 2010 AddIn 未加载

    我为 Excel 2010 编写了一个加载项 如果我从 开始 菜单打开 Excel 它可以正常工作 但是 如果我双击 Excel 工作簿 则无法加载 AddIn 我签入了ThisAddIn cs 方法InternalStartup 没有参与
  • 自定义函数错误:“表达式不能在计算列中使用”

    在 Access 2010 中 我尝试在计算列中使用自定义 VBA 函数 我得到 表达式不能在计算列中使用 这是我的步骤 启动 Access 2010 创建一个新的数据库 DB 创建一个包含文本列 Column1 的表 Table1 在 C
  • VBA rand 如何使用上限和下限生成随机数?

    所以也许这是多余的 也许这就像问为什么大多数人生来就有 5 个手指 最后的简短答案总是 因为事情就是这样 而且它就是这样工作的 但我讨厌这个答案 该死的我想知道怎么做VBA 中的 Rnd 函数有效 Ms Office Excel 的 MSD
  • 用于将 MS Word 表导出到 Excel 工作表的宏

    我有一个包含许多表格的word文档 有谁知道如何编写宏将此类表导出到不同的 Excel 工作表 答案摘自 http www mrexcel com forum showthread php t 36875 http www mrexcel
  • Excel如何获取一个时间间隔内的小时数?

    我有两列 Night shift start 19 00 Night end 04 00 我每天都有一些日期列 Work started 07 30 Worked ended 22 00 我想获取夜班开始和夜班结束之间的小数小时数 我需要计
  • 基于非零的多维数组

    我正在使用以下命令从电子表格中提取单元格Interopt ExcelAPI 当我打电话时 object rangeValues object range get Value XlRangeValueDataType xlRangeValue
  • VBA仅清除数据透视表缓存,但保留数据透视表结构

    如何使用VBA清除数据透视表缓存 但不破坏数据透视表结构 我的数据透视表已连接到外部数据源 SQL 源决定哪个用户应该查看数据的哪一部分 当表刷新时 源会填充该表 我想保存 Excel 文件并使用干净的数据透视表 内部没有数据 分发它 结果
  • 使用 js-xlsx 解析 Excel 工作表

    我正在尝试解析用户指定的目录中的所有 Excel 文件 但js xlsx我正在使用的库似乎需要手动导航 var url test files test xlsx lt Located in the project directory var
  • 如何每次使用按钮将数据添加到 MATLAB 中的现有 XLSX 文件?

    我有一个函数可以生成一些变量 例如分数 对 错 未回答 使用按钮调用此功能 问题是如何每次将函数生成的这些值添加 附加到 XLSX 文件中 或者 如何创建 MAT 文件以便可以添加它 可能的解决方案是什么 附加到 xls 文件所涉及的挑战是
  • 复制列中的所有单元格[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一张表 有 200 行 行间有一
  • JavaFX - Outlook 附件 - DnD

    您好 我需要一个 DnD 解决方案来将 Outlook 邮件附件拖到堆栈窗格中 JavaFX Outlook 2010 stackpaneDragAndDropZone setOnDragOver DragEvent event gt Dr
  • 使用 PDFMAKER 将多封电子邮件保存为 pdf

    我是 VBA 的新手 但我用 SAS 编写了一些程序 用汇编程序 大型机和 PC Word Perfect 宏 编写了一些程序 用 Java HTML 和其他东西编写了一些程序 我所做的是 当我遇到问题并且我认为我可以对其进行编程时 我会在
  • 使用 Cucumber Scenario Outline 处理 Excel 电子表格

    如果可能的话 我试图找到一种更优雅的方法来处理从与 Excel 电子表格行 第 n 个 相关的 Cucumber Scenario Outline 中调用第 n 个数字 目前 我正在使用迭代编号来定义要从中提取数据的 Excel 电子表格的
  • 调用退出后应用程序未退出

    我有一个小问题 我似乎无法弄清楚 我正在将 DataGridView 它的内容 保存到 xls 文件中 我这样做没有任何问题 除了在我的任务管理器中它仍然显示它正在运行 我已致电 xlApp Application Quit 这被声明为 D
  • 从受密码保护的 Excel 文件到 pandas DataFrame

    我可以使用以下命令打开受密码保护的 Excel 文件 import sys import win32com client xlApp win32com client Dispatch Excel Application print Exce

随机推荐

  • 如何确定通过“from m import *”导入了什么?

    我正在对导入语句进行一些修补 我需要确切地知道哪些成员是由from m import 该文档似乎表明 当 all 不存在时 将导入所有不以下划线开头的成员 这在所有情况下都是正确的吗 我知道inspect getmembers dir an
  • HTML5 什么是 itemscope 属性?用外行人的话来说它有什么作用?

    我只是想知道 HTML5 itemscope 属性的基本用途是什么 The itemscope attribute 是一个布尔属性 用于定义元素中包含的元数据的范围 它定义在HTML5 微数据 http www w3 org TR micr
  • 自动装箱和原始类型以匹配方法签名

    版本中1 5 Java引入了概念auto boxing public interface SomeInterface public void test Integer val public class Main implements Som
  • 从 Javascript 检测真实的边框、填充和边距

    有没有办法从 Javascript 代码中检测元素的真实边框 填充和边距 如果你看下面的代码
  • 字符串变量可能尚未初始化(错误指向第 34 行)

    我一直在尝试让字符串初始化 但无济于事 我已经尝试了我遇到的所有解决方案 我不确定是因为我的无能还是因为我需要一个新的解决方案 我已经解决了程序的逻辑 所以我只需要帮助尝试初始化字符串值 如果有人可以提供帮助 我将不胜感激 P S 诅咒我想
  • nginx工作进程如何共享“监听套接字”

    This http aosabook org en nginx html http aosabook org en nginx html说 工作进程接受来自共享 监听 套接字的新请求 并在每个进程内执行高效的运行循环 我查看了代码 但不明白
  • WPF 应用程序没有“固定到任务栏”选项

    我创建了几个 WPF 应用程序 但是当在 Windows 7 任务栏中右键单击它们时 我只是得到一个 关闭 Windows 选项 通常有一个 固定到任务栏 选项 我不知道它去了哪里 是否有任何需要启用或任何东西 我在用 VS2010 Ble
  • 弱实体是否可以参与与其他表的识别和非识别关系?

    显然 一个弱实体 作为子实体 必须参与一种或多种识别关系 否则它就不会是弱的 但同时 它也可以是非认同关系中的孩子吗 是的 弱实体集可以参与与其他实体的非识别关系entities 我认为 子 是指弱实体集位于关系的决定 多 方的关系 对于弱
  • 如何在 Chrome/Safari 中调试 EJS 代码

    我正在将 EJS 模板与 CanJS 一起使用 并正在寻找一种调试我的 EJS 代码的方法 目前 firebug 可以向我显示 EJS 中的语法错误 但在其他浏览器中 我看不到任何内容 我需要非常仔细地检查我的 EJS 文件来解决错误 我在
  • C#“as”与“()”转换[重复]

    这个问题在这里已经有答案了 为什么在这种情况下兼容引用类型之间的转换会编译 Excel 2010 Net 4 5 using Excel Microsoft Office Interop Excel Excel Application ex
  • 无约束类型参数错误

    我正在尝试将 glium 与 cgmath 连接起来 下列的这个答案 https stackoverflow com a 40028032 5397009 我已经实现了ToArray要转换实例的特征cgmath Matrix4转换成 gli
  • 如何隐藏我的应用程序但不关闭/完成它

    我想让用户通过隐藏它但不完成它来离开我的应用程序 我可以在主要活动中调用 finish 但这需要一些时间 这不利于用户体验 因此更好的选择可能是隐藏它 只是我不知道如何实现它 感谢您的所有回答 我不想在后台做某事 因为我已经有服务了 在我的
  • Tkinter 和 Tix 的颜色图表

    我想要可视化一些基本颜色 这样我就可以为我的配色方案选择合适的颜色 我在任何地方都找不到颜色图表 因此修改了示例来显示它 这是一个好方法吗 import Tix as tk import tkinter tix as tk for Pyth
  • 如何将任务并行库与 DataReader 结合使用

    我经常用数据填充数据读取器并像这样填充 UI using SqlConnection conn new SqlConnection myConnString using SqlCommand comm new SqlCommand Sele
  • 更改 Android 的 CalendarView 小部件中选定日期的颜色

    如何更改 android 提供的 CalendarView 小部件中所选日期的颜色 我似乎在文档中没有找到任何方法 I can change the VerticalBars using setSelectedDateVerticalBar
  • Java:如何将哈希图插入 MongoDB?

    我有一个哈希图 我试图将其插入到 MongoDB 版本 3 6 中 我知道 insertMany 方法 它只接受文档列表 我无法创建列表 因为我的数据中有重复项 我想删除它们 这就是我创建哈希图的原因 有什么办法可以将 hashmap 插入
  • 使用 gnu make 正确构建 git 子模块

    我目前尝试编写一个 Makefile 来正确构建一个包含 git 子模块的项目 该子模块有自己的一组 makefile 并一次生成多个目标 包括一些库 该 Makefile 应具有以下属性 即使使用并行构建 也不要重建两次子模块 当子模块代
  • Linq:Entity Framework Core 中的 Join 与 Include/ThenInlude

    我正在开发一个使用 SQL Server 和 EF Core v3 的项目 我有 4 个彼此相关的表 这是我的表格方案 我针对这些表编写了 2 个 Linq 查询 其中一个使用像这样的连接 var result from emailTemp
  • 我的 self.view 尺寸错误

    我的视图尺寸错误 我仅运行横向 但视图报告纵向尺寸 视图宽度 768 000000 高度 1024 000000 有任何想法如何解决这个问题吗 我尝试过使用自动旋转 BOOL shouldAutorotateToInterfaceOrien
  • Outlook 代码中的 Excel FilePicker 对话框在后台打开

    我开发了一个 Outlook 宏 让用户选择并打开 Excel 文件 文件对话框在后台打开 对于用户来说 Outlook 应用程序似乎被卡住了 而它只是在等待用户在所有其他窗口后面的文件选择器对话框中选择文件 Dim SigFolder2