具体错误是出现在对word文档进行操作时!该怎么办啊?难道把OfficeXP换成2000的?

解决方案 »

  1.   

    谢谢啊!难道不成把OfficeXP删了该装Office2000,在重新编译?有没有其他的方法啊??急用啊!
      

  2.   

    是OFFICE家族的事吧!看看在XP下重新编译一个2000的
      

  3.   

    icehouse(冰室之UP无罪) ,你好,你能不能再说清楚点啊,我主要是想做的程序能够在不论是装OfficeXP或Office2000,都能够运行!!
      

  4.   

    2000下打的包在OFFICEXP下应该可以运行的
      

  5.   

    谢谢,可是这个程序要在多种Office版本下运行,难道就要在最低的版本下编译,打包?请问有没有什么别的办法?
      

  6.   

    不要引用OfficeXP的库文件,引用的版本不同就会报错!
    直接创建对象,可以使版本无关!这是我使用Excel的经验,不知道Word如何直接创建对象?
      

  7.   

    channelv(channelv) ,你好!你是怎么直接创建Excel对象的,说来听听!
      

  8.   

    '备注: recordset1 是ADO记录集,获得的代码我未写    '*********************************************************
        'Excel处理
        '*********************************************************
        Dim xlApp As Object
        Dim xlBook As Object
        Dim xlSheet As Object
        Set xlApp = CreateObject("Excel.Application")
        Set xlSheet = CreateObject("Excel.Sheet")
        
        Dim strSource  As String
        
        strSource = App.Path & "\ABC.xls"
        'ABC.xls就是一个模版文件
            
        Set xlBook = xlApp.Workbooks.Open(strSource) '打开工作薄
        Set xlSheet = xlBook.Worksheets("sheet1")
        xlApp.Visible = False
        
       
       '// 取得指定字段信息
       For i = 0 To recordset1.RecordCount - 1
            xlSheet.cells(i + 1, 1) = recordset1.fields(0)
       Next     '自动列宽
         xlSheet.cells.EntireColumn.AutoFit
         
        
        xlApp.Application.Visible = True
        
        '************************************
        '打印报表
        xlSheet.PrintPreview
        
        xlBook.Save
        
        Set xlApp = Nothing  '"交还控制给Excel
        Set xlBook = Nothing
        Set xlSheet = Nothing
        
      

  9.   

    直接创建word对象有好多问题,会出现许多的变量没有定义的错误提示!!
    难道就没有人知道了解决办法了嘛!!!!!!!!!!!!!!!!!!!!!!
      

  10.   

    up,难道这里就没有人知道怎么解决了吗????
    总不能用户有几个版本的office,我就在几个office下编译吧!!!!
      

  11.   

    前几天才搞过这个东西,这样,你引用Word的DLL的时候引用 MSWORD*.OLB,而且是Office2000的,让别人共享一下就可以了,同理EXCEL,ACCESS也是
      

  12.   

    Com版本的问题,可以在代码里直接CreateObjectSet xlApp = CreateObject("Excel.Application")
        Set xlSheet = CreateObject("Excel.Sheet")
      

  13.   

    开发环境建议使用 office 97
      

  14.   

    up,up!!!
    lihonggen0(李洪根,MS MVP,标准答案来了):
    Set xlApp = CreateObject("Excel.Application")
        Set xlSheet = CreateObject("Excel.Sheet")excel是没有问题啊,可是引用word就回出现问题!!!LGQ1001(ft) :
    你能不能说清楚点啊???
    谢谢!
      

  15.   

    Set oWord = CreateObject("Word.Application")
    Set oDoc = CreateObject("Word.Document")
      

  16.   

    Private Sub Command1_Click()
        Dim oWord, oDoc
        
        Set oWord = CreateObject("Word.Application")
        'Set oDoc = CreateObject("Word.Document")
        
        Set oDoc = oWord.Documents.Add
        oWord.ActiveDocument.Content.Text = "Hi"
        
        oDoc.SaveAs "d:\1234.doc"
        oDoc.Close
        Set oDoc = Nothing
        oWord.Quit
        Set oWord = NothingEnd Sub
      

  17.   

    很明显你引入了一些office xp才新增的对象或方法。请参加office xp新增内容部分。如果这样的话,不可能在2000中运行,建议修改源码,或者让控件使用者强制使用office xp。
    在com addin 的startup事件中判断application.version >= 10 才显示控件件。
      

  18.   

    同意楼上。建议你用想要支持的最低版本的Office来编译程序。你也可以找出不兼容的对象或办法,然后用Office 2000的对象模型来模拟。提示:在你的程序代码前加行号,然后用erl函数输出出错行号,这样在Office 2000上运行就可以知道那行出错。
      

  19.   

    lihonggen0(李洪根,MS MVP,标准答案来了) 正解。在涉及OFFICE的程序中,建议开发环境的配置为低版本的OFFICE。因为MS OFFICE是向下兼容的。也就是说:你引用了EXCEL 10(XP版本)时,在EXCEL 9 (2000)下就不能使用了。另一种解决办法就是:直接创建EXCEL/WORD对象,那么OS会自动为你找到本级合适的EXCEL/WORD库的。请多参考VBA开发帮助。
      

  20.   

    原因就是office xp是Word10版本,而office 2000是Word9版本
    所以要兼容不能直接引用Word(或者在office200下引用,打包)
    否则最好采用下面的做法:
    Dim objWord as Object
    Set objWord=CreateObject("Word.Application")
    然后就可以解决问题了