【发布时间】:2016-11-07 11:37:36
【问题描述】:
是否可以打开包含命令行参数的 .mdb/.accdb 文件(客户端或服务器端)?
我最终要完成的是在 Outlook 电子邮件中嵌入一个链接(带参数)(通过按钮的 OnClick VBA 在另一个 Access db 中生成),当收件人单击该链接时,它会自动打开 .mdb/ .accdb 文件,他们可以在其中根据这些参数打印报告的当前版本。
第一次尝试
最初,我使用位于我们其中一台服务器上的批处理文件执行此操作(在生成的电子邮件中嵌入指向该批处理文件的链接):
@echo off
xcopy "\\server\share\thisdb.accdb" "C:\local\*.*" /Y
start msaccess.exe "C:\local\thisdb.accdb" /cmd "param1;param2"
...但是,这显然会导致 UAC 和整体电子邮件安全问题。
第二次尝试
因此,在与大学讨论后,他们建议建立一个网站。不是问题!在同一天就建立并运行了一个 ASP.NET VB 网站,并弄清楚了如何从链接传递和获取查询字符串。
当尝试在客户端和/或服务器上打开 Access 时,问题就开始了......
我试过了……
- 壳牌
- System.Diagnostics.Process(带/不带 System.Diagnostics.ProcessStartInfo)
- 等等...等等...(我不记得我从在线资源中尝试过的所有方法)
我为什么要这样做
很长一段时间以来,我只是在 VBA 中完成了以下操作:
- 自动生成电子邮件
- 将多个报告导出(并附加)为 PDF 文件
- 显示了电子邮件
随着时间的推移,这会占用我们服务器上的大量空间,并导致最终用户查看过时的信息。我的最终目标是创建一个实现以下目标的解决方案:
- 更小的电子邮件大小(大大有利于我们的电子邮件服务器)
- 最终用户能够单击电子邮件中的嵌入链接(无需任何 安全问题)并打开当前版本的报告
- 在打开鼠标的同时单击鼠标(单击鼠标或单击鼠标)即可完成所有操作 Outlook 电子邮件中的附件 PDF
非常感谢任何帮助/建议:)
【问题讨论】:
-
请注意,您将无法使用超链接中的参数启动 msaccess.exe:stackoverflow.com/questions/9994595/…
标签: asp.net vb.net visual-studio-2015 ms-access-2007 outlook-2007