vbs是打印excel文件,并执行打印操作。 使用cmd命令和直接运行vbs程序,都可进行打印。 而php调用vbs时,$returnvalue输出为0(代表执行成功),可就是不执行打印操作。 PHP:<?php
system("C:/print.vbs", $returnvalue);
echo $returnvalue;
?>=====================
vbs :
templatePath="C:\2.xls"
'create object
Set oExcel=CreateObject("Excel.Application")
oExcel.DisplayAlerts = False
Set tmpExcel=oExcel.Workbooks.Open(templatePath,3,False)
oExcel.ActiveSheet.PageSetup.PrintGridLines = False
oExcel.ActiveSheet.PrintOut
oExcel.ActiveWorkBook.Saved = False
oExcel.Quit
system("C:/print.vbs", $returnvalue);
echo $returnvalue;
?>=====================
vbs :
templatePath="C:\2.xls"
'create object
Set oExcel=CreateObject("Excel.Application")
oExcel.DisplayAlerts = False
Set tmpExcel=oExcel.Workbooks.Open(templatePath,3,False)
oExcel.ActiveSheet.PageSetup.PrintGridLines = False
oExcel.ActiveSheet.PrintOut
oExcel.ActiveWorkBook.Saved = False
oExcel.Quit
1. 点击开始->运行,输入日regedit.按确定。
2. 访问以下键值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3
3. 右击选择导出。完成后删除此键值。
4. 访问以下键值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
5. 右击选择导出。完成后删除以下键值
DefaultAccessPermissions
MachineAccessRestriction
MachineLaunchRestriction
6. 重启计算机。重启完成后执行一次添加/删除Windows组件。
二、注册表导入Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]
"DefaultLaunchPermission"=hex:01,00,04,80,64,00,00,00,80,00,00,00,00,00,00,00,\
14,00,00,00,02,00,50,00,03,00,00,00,00,00,18,00,01,00,00,00,01,01,00,00,00,\
00,00,05,12,00,00,00,00,00,00,00,00,00,18,00,01,00,00,00,01,01,00,00,00,00,\
00,05,04,00,00,00,00,00,00,00,00,00,18,00,01,00,00,00,01,02,00,00,00,00,00,\
05,20,00,00,00,20,02,00,00,01,05,00,00,00,00,00,05,15,00,00,00,a0,5f,84,1f,\
5e,2e,6b,49,ce,12,03,03,f4,01,00,00,01,05,00,00,00,00,00,05,15,00,00,00,a0,\
5f,84,1f,5e,2e,6b,49,ce,12,03,03,f4,01,00,00
"MachineLaunchRestriction"=hex:01,00,04,80,60,00,00,00,70,00,00,00,00,00,00,00,\
14,00,00,00,02,00,4c,00,03,00,00,00,00,00,18,00,1f,00,00,00,01,02,00,00,00,\
00,00,05,20,00,00,00,20,02,00,00,00,00,18,00,1f,00,00,00,01,02,00,00,00,00,\
00,05,20,00,00,00,32,02,00,00,00,00,14,00,0b,00,00,00,01,01,00,00,00,00,00,\
01,00,00,00,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,02,00,00,\
00,00,00,05,20,00,00,00,20,02,00,00
"MachineAccessRestriction"=hex:01,00,04,80,5c,00,00,00,6c,00,00,00,00,00,00,00,\
14,00,00,00,02,00,48,00,03,00,00,00,00,00,14,00,07,00,00,00,01,01,00,00,00,\
00,00,05,07,00,00,00,00,00,18,00,07,00,00,00,01,02,00,00,00,00,00,05,20,00,\
00,00,32,02,00,00,00,00,14,00,07,00,00,00,01,01,00,00,00,00,00,01,00,00,00,\
00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,02,00,00,00,00,00,05,\
20,00,00,00,20,02,00,00
"EnableDCOM"="Y"三、MSDTC 重新安装msdtc -uninstall
msdtc -install