用Set objXl = CreateObject("Excel.Application")
  objXl.Workbooks.Open (FileName)
打开一个excel文件时 如果该文件有宏 会自动打开
怎么样在打开这个文件的时候 不让宏自动运行???另外关于vba中 userform 窗口的关闭按钮 如何屏蔽它?即没有任何最大化最小化以及关闭按钮。

解决方案 »

  1.   

    http://tech.sina.com.cn/c/2001-08-14/5104.htmlForm有属性ControlBox=false
      

  2.   

    把excel里的宏的安全设为中或者高.设为中时会有提示框,设为高没有
      

  3.   

    关注
    EXCEL里面合并单元格的时候会弹出提示。请问在VB里面怎么设置可以不提示?
    jam021(jam):怎么在VB中把EXCEL的宏安全设为高?
      

  4.   

    顶一下
    怎么在VB中把EXCEL的宏的安全设置?
      

  5.   


    Set objXl = CreateObject("Excel.Application")
      objXl.EnableEvents=false        '关闭事件,即不会自动运行宏,(手工运行还是可以的)
      objXl.Workbooks.Open (FileName)
      objXl.EnableEvents=true        '还原
    另一种方法,可以设置
    objXl.AutomationSecurity=3        '禁止运行宏(手工也不能运行)
      

  6.   

    /////另外关于vba中 userform 窗口的关闭按钮 如何屏蔽它?即没有任何最大化最小化以及关闭按钮。///////参见:http://office.9zp.com/dispbbs.asp?boardID=17&ID=27
      

  7.   

    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.WorksheetPrivate Sub Command1_Click()Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
    Set xlBook = xlApp.Workbooks.Open(App.Path & "\" & "Test.xls") '打开已经存在的EXCEL工件簿文件
    xlApp.Visible = True '设置EXCEL对象可见(或不可见)
    Set xlSheet = xlBook.Worksheets("sheet1") '设置活动工作表
    xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏
    Rem xlSheet.Cells(row, col) = 值 '给单元格(row,col)赋值
    Rem xlSheet.PrintOut '打印工作表Rem xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏End SubPrivate Sub Command2_Click()
    Rem xlBook.Close (True) '关闭工作簿
    xlApp.Quit '结束EXCEL对象
    Set xlApp = Nothing '释放xlApp对象
    Unload Me
    End Sub
      

  8.   

    引用leeht(Lee):
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.WorksheetPrivate Sub Command1_Click()Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
    Set xlBook = xlApp.Workbooks.Open(App.Path & "\" & "Test.xls") '打开已经存在的EXCEL工件簿文件
    xlApp.Visible = True '设置EXCEL对象可见(或不可见)
    Set xlSheet = xlBook.Worksheets("sheet1") '设置活动工作表
    xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏
    Rem xlSheet.Cells(row, col) = 值 '给单元格(row,col)赋值
    Rem xlSheet.PrintOut '打印工作表Rem xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏End SubPrivate Sub Command2_Click()
    Rem xlBook.Close (True) '关闭工作簿
    xlApp.Quit '结束EXCEL对象
    Set xlApp = Nothing '释放xlApp对象
    Unload Me
    End Sub
    触发Command2_Click()的事件后,EXCEL应该被关闭了,可为什么在任务管理器中还可以看见excel.exe驻留在内存中?