我有一个Access应用程序,当前正在使用fhandlefile()过程: http://access.mvps.org/access/api/api0018.htm ...打开任意文件。
我希望能够在我自己的程序中包装该例程,如OpenFile(strFilePath,bolReadOnly),以便我可以根据需要以只读方式打开文件。但是,我没有在Shell API调用中看到任何可以执行此操作的地方。我已经想到的两个替代解决方案(但有问题)是:
任何人都有任何关于我如何调整现有例程或用其它可以替代它的东西替换它的想法?
答案 0 :(得分:0)
查看您称之为的API ...
尝试打开使用ShellExecte的调用来打开文件,使用默认动词(如果可用)。如果没有,则使用“打开”动词。
如果失败则尝试使用打开方式... 对话框打开文件,请参阅How To Invoke the "Open With..." Dialog Box Using _shellexecute
这两种方法都使用与文件关联的信息来打开正确的应用程序,但是没有办法传递“只读”。我的猜测是,这是因为并非所有文件类型都具有只读或甚至可写的上下文。
您可以在Web浏览器中打开文件。
例如(使用“Microsoft Internet Controls”的引用,通常位于c:\ windows \ system32 \ ieframe.dll)
Dim ie As InternetExplorer
set ie = New InternetExplorer
ie.Navigate "file://yourFile"
ie.Visible = True