调用Excel 97         使用Excel Sheet对象的技术可以处理可变数量的数据,并将结果最后送到你的Vis ual Basic 应用程序中。例子如下:         新建一个工程并在新建的窗体上放置两个TextBox控件和一个CommandButton控件及 六个Label控件。建设中的窗体如图2所示。         程序代码如下:          Option Explicit          Private Sub Command1-Click()          Dim xObject As Object          ′调用Excel 97          Set xObject = CreateObject("Excel.Sheet")          Set xObject = xObject.Application.ActiveWorkbook.ActiveSheet          xObject.Range("A1").Value = Text1.Text ′将数值送入Excel 97的A1单元格          xObject.Range("A2").Value = Text2.Text ′将数值送入Excel 97的A2单元格          xObject.Range("A3").Formula = "=MAX(A1,A2)" ′将最大值送入A3单元格          xObject.Range("A4").Formula = "=ATAN(A1/A2)*180/PI()"         ′将反正切值送入A4单元格          ′显示计算的结果          Label1.Caption = xObject.Range("A3").Value          Label2.Caption = xObject.Range("A4").Value          Set xObject = Nothing          End Sub          Private Sub Form_Load()          Text1.Text = ""         Text2.Text = ""         Label1.Caption = ""         Label2.Caption = ""         End Sub         该程序的作用是:首先在两个文本框(Text1和Text2)输入数值并分别将输入 的数值送入Excel 97的"A1"和"A2"单元格中,然后,用Excel 97中的"Max()"函数将计算 的结果送入"A3" 单元格中;用反正切函数"ATAN()"进行计算并将结果送入"A4" 单元格 中,最后输出。     

解决方案 »

  1.   

    首先表示感谢!
    下面我说一下我的具体要求,假设软件界面上有一个"打开"按钮和一个"
    保存"按钮,当我打开一个excel文件后,这个文件出现在另外一个窗体中
    ,在这里我可以像在excel软件中那样对文件进行编辑,并且点击"保存"
    按钮的效果跟在excel软件中一样,这样怎样实现我的qq181930679
      

  2.   

    Set xObject = CreateObject("Excel.Sheet") 
           Set xObject = xObject.Application.ActiveWorkbook.ActiveSheet 
    就直接打开了一个excel窗体了,如果你要使它看起来不是excel打开的,就隐藏excel的菜单
      

  3.   

    到www.21code.com上看看,好像有不少
      

  4.   

    我想问一下:
    怎么样才不至于把原来打开excel文件不至于覆盖掉???
      

  5.   

    基于VB和EXCEL的报表设计及打印 文/朱诗兵 高栓 
      在现代管理信息系统的开发中,经常涉及到数据信息的分析、加工, 
    最终还需把统计结果形成各种形式的报表提供给领导决策参考,或进行外 
    部交流。在Visual Basic中制作报表,通常是用数据环境设计器(Data 
    Environment Designer)与数据报表设计器(Data Report Designer),或者 
    使用第三方产品来完成。但对于大多数习惯于Excel报表的用户而言,用以 
    上方法生成的报表在格式和功能等方面往往不能满足他们的要求。   由于Excel具有自己的对象库,在Visual Basic工程中可以加以引用, 
    通过对Excel使用OLE自动化,可以创建一些外观整洁的报表,然后打印输 
    出。这样实现了Visual Basi应用程序对Excel的控制。本文将针对一个具 
    体实例,阐述基于VB和EXCEL的报表设计及打印过程。  1)创建Excel对象   Excel对象模型包括了128个不同的对象,从矩形、文本框等简单的对 
    象到透视表,图表等复杂的对象。下面简单介绍一下其中最重要,也是用 
    得最多的五个对象。 (1)Application对象   Application对象处于Excel对象层次结构的顶层,表示 Excel自身的 
    运行环境。 (2)Workbook对象   Workbook对象直接地处于Application对象的下层,表示一个Excel工 
    作薄文件。 (3)Worksheet对象   Worksheet对象包含于Workbook对象,表示一个Excel工作表。 (4)Range对象   Range对象包含于Worksheet对象,表示 Excel工作表中的一个或多个 
    单元格。 (5)Cells对象   Cells对象包含于Worksheet对象,表示Excel工作表中的一个单元格。 
      如果要启动一个Excel,使用Workbook和Worksheet对象,下面的代码 
    启动了Excel并创建了一个新的包含一个工作表的工作薄: Dim zsbexcel As Excel.Application 
    Set zsbexcel = New Excel.Application 
        zsbexcel.Visible = True 如要Excel不可见,可使zsbexcel.Visible = False   zsbexcel.SheetsInNewWorkbook = 1 
      Set zsbworkbook = zsbexcel.Workbooks.Add  2)设置单元格和区域值   要设置一张工作表中每个单元格的值,可以使用Worksheet对象的 
    Range属性或Cells属性。 With zsbexcel.ActiveSheet 
        .Cells(1, 2).Value = "100" 
        .Cells(2, 2).Value = "200" 
        .Cells(3, 2).Value = "=SUM(B1:B2)" 
        .Range("A3:A9") = "中国人民解放军" 
      End With   要设置单元格或区域的字体、边框,可以利用Range对象或Cells对象 
    的Borders属性和Font属性:   With objexcel.ActiveSheet.Range("A2:K9").Borders  '边框设置 
        .LineStyle = xlBorderLineStyleContinuous 
        .Weight = xlThin 
        .ColorIndex = 1 
      End With 
      With objexcel.ActiveSheet.Range("A3:K9").Font  '字体设置 
        .Size = 14 
        .Bold = True 
        .Italic = True 
        .ColorIndex = 3 
      End With   通过对Excel单元格和区域值的各种设置的深入了解,可以创建各种复 
    杂、美观、满足需要的、具有自己特点的报表。  3)预览及打印   生成所需要的工作表后,就可以对EXCEL发出预览、打印指令了。   zsbexcel.ActiveSheet.PageSetup.Orientation = xlPortrait   ' 
      设置打印方向 
      zsbexcel.ActiveSheet.PageSetup.PaperSize = xlPaperA4   ' 
      设置打印纸的打下 
      zsbexcel.Caption = "打印预览"        '设置预览窗口的 
      标题 
      zsbexcel.ActiveSheet.PrintPreview      '打印预览 
      zsbexcel.ActiveSheet.PrintOut        '打印输出   通过打印方向、打印纸张大小的设置,不断进行预览,直到满意为止, 
    最终进行打印输出。   为了在退出应用程序后EXCEL不提示用户是否保存已修改的文件,需使 
    用如下语句:   zsbexcel.DisplayAlerts = False 
      zsbexcel.Quit    '退出EXCEL 
      zsbexcel.DisplayAlerts = True   如此设计的报表打印是通过 EXCEL程序来后台实现的。对于使用者来 
    说,根本看不到具体过程,只看到一张张漂亮的报表轻易地被打印出来了。  4)具体实例   下面给出一个具体实例,它在window98、Visual Basic 6.0、 
    Microsoft Office97的环境下调试通过。   在VB中启动一个新的Standard EXE工程,在“工程”菜单的“引用” 
    选项下引用Excel Object Library;然后在Form中添加一个命令按钮 
    cmdExcel;最后在窗体中输入如下代码:   Dim zsbexcel As Excel.Application 
          Private Sub cmdExcel_Click() 
              Set zsbexcel = New Excel.Application 
       zsbexcel.Visible = True 
       zsbexcel.SheetsInNewWorkbook = 1 
       Set zsbworkbook = zsbexcel.Workbooks.Add 
       With zsbexcel.ActiveSheet.Range("A2:C9").Borders   '边框设置 
          .LineStyle = xlBorderLineStyleContinuous 
          .Weight = xlThin 
          .ColorIndex = 1 
          End With 
       With zsbexcel.ActiveSheet.Range("A3:C9").Font  '字体设置 
           .Size = 14 
          .Bold = True 
          .Italic = True 
          .ColorIndex = 3 
       End With 
      zsbexcel.ActiveSheet.Rows.HorizontalAlignment = 
    xlVAlignCenter   '水平居中   zsbexcel.ActiveSheet.Rows.VerticalAlignment = 
    xlVAlignCenter    '垂直居中   With zsbexcel.ActiveSheet 
        .Cells(1, 2).Value = "100" 
        .Cells(2, 2).Value = "200" 
        .Cells(3, 2).Value = "=SUM(B1:B2)" 
        .Cells(1, 3).Value = "中国人民解放军" 
        .Range("A3:A9") = "50" 
      End With 
     zsbexcel.ActiveSheet.PageSetup.Orientation = xlPortrait    ' 
    xlLandscape 
     zsbexcel.ActiveSheet.PageSetup.PaperSize = xlPaperA4 
     zsbexcel.ActiveSheet.PrintOut 
     zsbexcel.DisplayAlerts = False 
     zsbexcel.Quit 
     zsbexcel.DisplayAlerts = True 
     Set zsbexcel = Nothing 
      

  6.   

    对,上面有一位说的对,就不知你要的是哪一个,我用程序曾读出过EXCEL中所有差不多能读到的东西,包括数据透视表等一些,也可以设置。
    如果你想自己研究,我想你可以看一个VBA的帮助,安装一下OFFICE2000中,用宏记录一下,再编辑这个宏,就会看到实现这个功能的VBA代码了,不要安装OFFICE97的,那个VBA帮助不全,也不好。OFFICE2000的不错。另外,如果程序调用EXCEL对象,如果是OFFICE2000同OFFICE97在同一台机器上,或是OFFICE2000一个,最好调用两遍创建对象的代码,即判断一个第一遍是否创建成功了,按理说创建一遍就可以成功,但在有些环境下是不行的。创建:
    DIM OBJEXCEL AS EXCEL.APPLICATION
    SET OBJEXCEL=CREATEOBJECT("EXCEL.APPLICATION")
    IF OBJEXCEL IS NOTHING THEN '表示没有成功,再创建好了
    。。