我用VB做了一个小程序。先建立WORD模板,然后把模板的内容复制到临时文件中,循环提取ACCESS的数据在WORD中,打印输出报表。可是每次循环到第二次时,执行
COPYFILES *。DOT,*。DOC
时,就会报错,“拒绝权限”。我知道是因为第一次循环语句执行到打印时,来不及恢复,不知道有何方法解决。
Dim I As Integer
Dim xlapp As New Word.Application
Set xlapp = New Word.Application'然后,可以用这些变量来访问在word应用程序中的从属对象、以及这些对象的属性和方法
Set xlapp = CreateObject("word.Application")
'激活word应用程序
xlapp.Visible = False
'隐藏word应用程序窗口
Dim strSource, strDestination As String
 strSource = "g:\新建文件夹\报表\temp2.doc"
'RegisterFee.xls就是一个模版文件
 strDestination = "g:\新建文件夹\报表\temp1.doc"
 Data1.Recordset.MoveFirst
 'data1为Data控件
 For I = 1 To Data1.Recordset.RecordCount
 
 FileCopy strSource, strDestination
 '将模版文件拷贝到一个临时文件运行到最后一句报错“30”拒绝权限,什么意思????

解决方案 »

  1.   

    Do While Mrc.Eof 
        Print .  
       Mrc.Next
    Loop
      

  2.   

    我的循环语句中是包含PRINTOUT的语句,只不过我不知道如何判断打印机是否已经把报表打印出来,这样当循环到第二次时,执行到
     FileCopy strSource, strDestination
    语句时,因为此是WORD正在打印,临时文档就会写保护,最后报错“30”拒绝权限。
      

  3.   

    是不是文件已经被你上一次运行时打开,看看任务管理器有没有Word的进程,有关掉它如果实在不行就先Open,然后SaveAs
      

  4.   

    我调用API,提取打印机的状态,的确是程序的时间差问题。