1、用户打开一个WORD文档进行编辑后,直接关闭。WORD本身会弹出一对话框提示是否保存,如何判断用户选择的是“是”,还是“否”?2、如何用VB代码将一个WORD宏写入WORD文档中,并能在适当的时候执行。比如我在VB代码中将WORD宏写入WORD文档的OPEN事件中,保存后在下次打开WORD文档时能执行那段宏

解决方案 »

  1.   

    =7是按“否”,反则是“是”支持用代码可以控制WORD,用VBA
      

  2.   

    问题1:在FORM的UNLOAD时间里面,加上:   answer=msgbox("是否要退出?",vbquestion+vbyesno,"提醒"
       if answer=6 then
           end
       else  
           cancel=true
       endif
      

  3.   

    我一般的方法是每次打开文档是都是打开原件的一个备份,然后关闭时自动保存(使用宏)。给予用户的提示则是使用自己的一个窗体,将该窗体居于最前端。如果用户在该窗体选择保存则将打开的备份拷贝覆盖原件。与你的思路不一样,但是可以解决你的问题。
    对于WORD文档的宏,WORD对象下有一个子对象,具体名字我记得不是很清楚了,手头页没有可以查的东西,你自己取看看,可以在该对象中一句句的写入新的代码,然后保存文档就可以了.
      

  4.   

    To:szj820(都市精灵,机会没有,鸡会有的,努力努力) 
    1、那个对话框并不是我弹出来的,是WORD本身的功能,所以不知道如何得到那个返回值
    2、能说具体点吗?TO: luckcao(luckcao) 
    不明白你的意思。关于第一个问题我想问的是用户关闭WORD时如何判断用户点击的是“是”还是“否”,而不是说关闭VB的窗口
      

  5.   

    1 在Word中添加一个宏,让它写一个标志,然后程序去读此标志。2 手头只有调用Excel宏的代码,自己改改看吧:
          Option Explicit      Private Sub Command1_Click()
           Dim oExcelApp As Object       ' Create a reference to the currently running excel application
           Set oExcelApp = GetObject(, "Excel.application")
           ' Make the Excel Application Visible.
           oExcelApp.Visible = True
           ' Run the excel procedure
           oExcelApp.run "proc", "David", 30  '宏名和两个参数
          End Sub宏代码:
    Sub Proc(sParam1 As String, iParam2 As Integer)
            MsgBox sParam1 & " is " & iParam2 & " Years Old"
    End Sub
      

  6.   

    TO:carefulman(我要进步!) 
    1、我在文档的close事件中用ActiveDocument.Save方法保存,但WORD还是弹出了那个提示对话框。我想估计是close事件执行晚于提示对话框。
    2、我去看看:)
      

  7.   

    TO:of123() ( )关于第二个问题,我想问的是如何通过VB代码将一个WORD宏写入文档中
      

  8.   

    1、我在文档的close事件中用ActiveDocument.Save方法保存,但WORD还是弹出了那个提示对话框。我想估计是close事件执行晚于提示对话框。
    你在 close 事件里面调用 ActiveDocument.Save 当然是晚了一点儿,呵呵
    可以做一个按钮来执行 ActiveDocument.Save
    另外,ActiveDocument.Close 方法有2个参数,第一个是是否保存,第二个是是否提示用户保存。
      

  9.   

    1:
    Dim myobj As Word.ApplicationPrivate Sub Command1_Click()End SubPrivate Sub create_Click()
    Set myobj = New Word.Application
    myobj.Visible = True
    myobj.Documents.AddEnd SubPrivate Sub exit_Click()
    Dim demo As Integer
    If myobj.ActiveDocument.Saved = False Then
    demo = MsgBox("Do you want to save this document?", vbYesNo, "Demo")
    If demo = vbYes Then
        myobj.ActiveDocument.save
    End If
    myobj.Quit
    Unload Form1
    End SubPrivate Sub save_Click()
    myobj.ActiveDocument.save
    End Sub
      

  10.   

    to:aalei(阿磊)用你的方法岂不是要询问两次用户是否保存?因为当用户关闭WORD时,WORD本身已经提示了一次对了,我打开的WORD是独立的,并不是嵌在我的窗口中的