用richtextbox打开word文档[转]

来源:互联网 发布:tensorflow 语义识别 编辑:程序博客网 时间:2024/05/16 14:40

Dim word As Object
Dim documents As word.Document
Set word = CreateObject("word.application")
Set documents = word.documents.Open(CommonDialog1.FileName)
RichTextBox1.Text = documents.Content
documents.Close  '关闭文档
word.Quit

此方法可以打开,但可能字号的信息会丢失

下面给出代码,能打开任何一种:

Private Sub Cmddr_Click()  '导入

    Dim wordobj As Object

    '浏览要添加的的文件

    CommonDialog1.DialogTitle = "选择文本文件"

    CommonDialog1.InitDir = App.Path

    ’下面这句实际上已经过滤掉只有三种文件格式可以被打开,所以不存在aaaa.doc.gif文件格式

    CommonDialog1.Filter = "文本文件(*.txt;*.doc;*.rtf)|*.txt;*.doc;*.rtf"

    CommonDialog1.FileName = ""

    CommonDialog1.ShowOpen

    If CommonDialog1.FileName > "" Then

        If InStr(CommonDialog1.FileName, ".doc") > 0 Then

            On Error GoTo errhdl

            Set wordobj = New Word.Application

            With wordobj

            'Show Word

            .Visible = False

            .DisplayAlerts = wdAlertsNone

            'Create New Document

            .Documents.Open (CommonDialog1.FileName)

            'Add the document text to  RichTextBox1.Text

            RichTextBox1.Text = Replace(.ActiveDocument.Content.Text, Chr(13), vbCrLf)

            '.ActiveDocument.Close

            .ActiveWindow.Close

            End With

            Set wordobj = Nothing

            exit sub

errhdl: '出错处理

        MsgBox "请确认你是否安装了word软件?", vbCritical, "提示"

        Exit Sub

        

        ElseIf InStr(CommonDialog1.FileName, ".rtf") > 0 Then

                RichTextBox1.LoadFile CommonDialog1.FileName, rtfRTF

        Else

            RichTextBox1.LoadFile CommonDialog1.FileName, rtfText

        End If

    End If

End Sub

 

根据用户反应,修改了上面的代码:做了一个打开word文档的程序,不管事先用户已经打开了多少个word文档,而用户用程序不管打开是当前已经打开的文档还是另外一个文档,都是可以安全执行,不会与word有任何冲突,在这里由于他不需要我考虑是否机器上已经安装了word文档?但是我觉得还是要完善,希望有道朋友帮忙完善! 也希望下面能给要帮助的朋友们!!!

 Dim wordobj As Word.Application

'    Dim s As String

    Dim LsFileName As String

    Dim llCount As Integer

   

    '浏览要添加的的文件

    CommonDialog1.DialogTitle = "选择文本文件"

   ' CommonDialog1.InitDir = App.Path

    CommonDialog1.Filter = "文本文件(*.txt;*.doc;*.rtf)|*.txt;*.doc;*.rtf"

    CommonDialog1.FileName = ""

    CommonDialog1.ShowOpen

    If CommonDialog1.FileName <> "" Then

        If InStr(CommonDialog1.FileName, ".doc") > 0 Then

            If Dir(CommonDialog1.FileName) <> "" Then

                LsFileName = CommonDialog1.FileName

                On Error Resume Next

                Set wordobj = GetObject(, "Word.Application")

                For llCount = 1 To wordobj.Documents.Count   '找当前已经打开的word文档是否是程序要打开的

                    If Err.Number = 0 Then  '有word已经打开

                        If wordobj.Documents(llCount).FullName = LsFileName Then

                            RichTextBox1.Text = Replace$(wordobj.Documents(llCount).Content.Text, Chr$(13), vbCrLf)

                            Exit Sub

                        End If

                    End If

                Next

                If Err.Number <> 0 Then  '如果当前没有任何word进程

                    Err.Clear

                    Set wordobj = CreateObject("Word.Application") '创建word应用类

                End If

                wordobj.AutoCorrect.Application.DisplayAlerts = wdAlertsNone  '不提示

                wordobj.Documents.Open LsFileName   '打开文档

                RichTextBox1.Text = Replace$(wordobj.ActiveDocument.Content.Text, Chr$(13), vbCrLf) ' Replace$(.ActiveDocument.Content, Chr$(13), vbCrLf)

                wordobj.ActiveDocument.Close   '关闭激活的文档

                Set wordobj = Nothing   '释放对象

                Exit Sub

            Else

                MsgBox "没有该文件"

                Exit Sub

            End If

        ElseIf InStr(CommonDialog1.FileName, ".rtf") > 0 Then

                RichTextBox1.LoadFile CommonDialog1.FileName, rtfRTF

        ElseIf InStr(CommonDialog1.FileName, ".txt") Then

            RichTextBox1.LoadFile CommonDialog1.FileName, rtfText

        End If

    End If

End Sub




原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 在商场买到破衣服怎么办 vans鞋子磨脚怎么办 衣服白领子发黄怎么办 白衬衣染上黑色怎么办 车超过年检日期怎么办 用过期卫生间痒怎么办 驾照过期一个礼拜怎么办 月经总是后漏怎么办 护垫掉厕所里怎么办 健身房老板拿钱跑了怎么办 手机游戏变竖屏了怎么办 轮胎钢圈处磨损怎么办 屋里有刺鼻气味怎么办 脸上都是荧光剂怎么办 mac系统卡死了怎么办 笔记本关机要很久怎么办 mac关不了机怎么办 mac蓝屏无法开机怎么办 凤凰系统内存小怎么办 proe安装完成打不开怎么办 绿叶竹根发黑怎么办 月经期间肚子凉怎么办 来月经肚子冷怎么办 月经越来越少了怎么办 卫生巾闷出红疹子痒怎么办 开动物检疫证明怎么办 打桩机钻头掉了怎么办 临牌怎么办没有合格证 没有合格证怎么办零牌 贴了一等品瓷砖怎么办 香港过关货物被退港怎么办 换检验标过期怎么办 电动车合格证丢了怎么办 摩托车合格证丢了怎么办 鞋子潮湿有味道怎么办 衣服泡臭了怎么办 养金毛家里味大怎么办 衣服脱色怎么办怎么洗 过了淘宝售后怎么办 纹完眉毛后很痒怎么办 纹眉后眉毛老痒怎么办?