tempfilename = "d:\200641915420.doc"  wordtemps.Documents.Open FileName:=tempfilename, ConfirmConversions:=False, ReadOnly:= _
        False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
        "", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
        Format:=wdOpenFormatAuto
OLE1.CreateEmbed (tempfilename)
 wordtemps.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
程序是这样的,但就算加了滚动条也只是显示了200641915420.doc的第一页内容。
请问各位应如何解决?

解决方案 »

  1.   

    在这里有一个完美的解决方案!
    vb里操作Ms Word文档的控件:
    http://www.mndsoft.com/blog/article.asp?id=330更多请搜索这个网站.
      

  2.   

    mndsoft,我试了你的控件,但我想做到显示的WORD不显示标尺(你的标尺功能提示找不到工程库),还有屏蔽鼠标功能行吗?
      

  3.   

    mndsoft,但我想做到显示的WORD不显示标尺(你的标尺功能提示找不到工程库),这个问题我找到原因了,你引用的是word 10.0 object,改成word 9.0 object即可用。但是我想要用你的控件能做到不能给用户复制文字,有办法吗?
      

  4.   

    用VB的OLE控件如果显示多页的WORD文档 
    ----------------------------------------
    参考http://community.csdn.net/Expert/topic/4197/4197346.xml?temp=.65086
    http://community.csdn.net/Expert/topic/4592/4592819.xml?temp=.1337091
    http://community.csdn.net/Expert/topic/4072/4072391.xml?temp=.5576593
      

  5.   

    A FREE OCX: http://www.google.com/search?num=50&hl=zh-CN&newwindow=1&q=VB6+%22Dsoframerctl.exe%22+&btnG=%E6%90%9C%E7%B4%A2&lr=
      

  6.   

    northwolves(狼行天下),您好,我用了
     Me.OLE1.DoVerb   vbOLEUIActivate   
      Dim   wdDoc   As   Word.Document   
      Set   wdDoc   =   Me.OLE1.object   
      wdDoc.ActiveWindow.PageScroll 2  但好象没反应,还是显示第一页,郁闷
      

  7.   

    Me.OLE1.DoVerb   vbOLEUIActivate   
      Dim   wdDoc   As   Word.Document   
      Set   wdDoc   =   Me.OLE1.object   
      wdDoc.ActiveWindow.PageScroll 2 请问有这方种ole怎么打开WORD文档?可否把打开语句贴出来?万分感谢
    我用的是OLE1.CreateEmbed (tempfilename)
    这样会出错,也没有翻页
      

  8.   

    http://www.21product.com/testsoft.rar我已将代码提练出来了,但只显示test.doc的第一页,有无兄弟帮忙修改一下程序使得OLE
    能显示多页啊。
      

  9.   

    Private Sub Command1_Click()
      Me.OLE1.DoVerb vbOLEUIActivate
      Dim wdDoc     As New Word.Document
      Set wdDoc = Me.OLE1.object
      wdDoc.Application.ActiveWindow.View.ShowAll = True
    End Sub
      

  10.   

    northwolves(狼行天下) ,你的代码试过,不行。郁闷,不过还是谢谢你
      

  11.   

    wdDoc.Application.ActiveWindow.PageScroll (1) 这样可以翻到下一页,只要按一下滚动条,马上又回到第一页了。
      

  12.   

    问题很简单,之所以不显示滚动条原因是嵌入后OLE控件的边界大过了窗体看不大了,方法:取Picture控件作背景,把OlE控件放到里面调整四边尺寸。Dim doc As Word.Document
    Dim win As Word.Window
    With OLE1
    .SizeMode = 1
    .CreateEmbed App.Path & "\Word.doc"
    .DoVerb vbOLEPrimary
    .AutoVerbMenu = False
    End With
                
    Set doc = OLE1.object
    Set win = doc.ActiveWindowOLE1.Move 0, 0, Picture1.Width - 70, Picture1.Height - 120win.ActivePane.DisplayRulers = False'不显示标尺
    win.ActivePane.DisplayVerticalRuler = False'不显示标尺
    win.DisplayVerticalScrollBar = True'显示滚动条
    win.DisplayHorizontalScrollBar = True'显示滚动条
    doc.ActiveWindow.ActivePane.SmallScroll Down:=10'移动位置用户复制文字?嵌入就是等同于打开了文件,把文件设为只读或用VBA或其他什么鼠标钩子的方法。其实防不住。(加分不?)