背景:通过 C# 代码打开 Excel 时,Excel 内包含的宏无法正常加载,但是通过鼠标打开时,宏加载正常,因此想到可以通过 WinApi 来打开文件。
官网地址:https://docs.microsoft.com/zh-cn/windows/win32/api/shellapi/nf-shellapi-shellexecutea
API参考手册:Windows API 参考手册
参考链接:
C# 调用 WinApi 中 ShellExecute 打开 Excel 的方法 - 道长1 - 博客园
Unity C#在Windows/PC平台下打开某个文件夹/打开某个exe/带参数/含中文路径不乱码(Windows API/ShellExecute)_林新发的博客-优快云博客
WinApi 中 ShellExecute 的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。函数如下:
IntPtr ShellExecute(IntPtr hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, ShowCommands nShowCmd);
参数说明:
hwnd:指定父窗口句柄,未指定时可以为 null 或者为 0 lpOperation:指定操作, 值可以为【open】、【print】、【explo

本文介绍了如何通过C#调用WinApi的ShellExecute函数来打开包含宏的Excel文件,以便宏能够正常执行。当直接通过C#代码打开Excel时宏无法加载,但使用ShellExecute函数可以解决这个问题。文中详细解释了ShellExecute函数的参数及用法,并提供了C#代码示例,展示了如何以特定模式打开文件。
最低0.47元/天 解锁文章
2166

被折叠的 条评论
为什么被折叠?



