我设法使用com1.2.3库,但只有已经打开才能使用excel。
我不知道为什么这段代码不起作用;
main = coRun $ do
idEx <- createObject "Excel.Application"
我在cmd中遇到了这个错误:
*** Exception: ComException {comException = ComError (-2147467262),
comExceptionMsg = "(0x80004002) This interface is not supported\r\n"}.
我在win7中看到,从com32启动64b应用程序可能是不可能的。那是对的吗?
任何人都有一个可以从win7启动excel的工作代码吗?
答案 0 :(得分:1)
import System.Win32.Com
import System.Win32.Com.Automation
iidIDispatch_unsafe = mkIID "{00020400-0000-0000-C000-000000000046}"
newExcel = coRun $ do
clsidExcel <- clsidFromProgID "Excel.Application"
pIunknown <- coCreateInstance clsidExcel Nothing LocalProcess iidIDispatch_unsafe
let pExl = castIface pIunknown :: IDispatch ()
propertySet "Visible" [inBool True] pExl