`
tyl
  • 浏览: 50425 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

VB实现Excel中插入文件

阅读更多

Module Module1
    Sub Main(ByVal Args() As String)
        If (Args.Length = 7) Then
            Dim excelApp As Microsoft.Office.Interop.Excel.Application
            Dim excelBook As Microsoft.Office.Interop.Excel.Workbook
            Dim excelsheet As Microsoft.Office.Interop.Excel.Worksheet '定义工作表类

            Dim excelPath As String  'excel文件路径
            Dim insertPath As String  '要插入文件的路径
            Dim sheetIndex As Integer 'sheet页的下标,从1开始
            Dim col As Integer '要将文件插入到哪一列
            Dim row As Integer '要将文件插入到哪一列行
            Dim colCount As Integer '所占的列数
            Dim rowCount As Integer '所占的行数

            excelPath = Args(0)
            insertPath = Args(1)
            sheetIndex = Args(2)
            col = Args(3)
            row = Args(4)
            colCount = Args(5)
            rowCount = Args(6)

            ' System.Console.WriteLine("excelPath......." + excelPath)
            ' System.Console.WriteLine(sheetIndex)
            ' System.Console.WriteLine(col)
            ' System.Console.WriteLine(row)
            ' System.Console.WriteLine(insertPath)
            Try
                excelApp = GetObject("Excel.Application")
                excelApp.DisplayAlerts = False
            Catch ex As Exception
                System.Console.WriteLine("GetObject......." + ex.Message)
            End Try

            If (excelApp Is Nothing) Then
                Try
                    excelApp = CreateObject("Excel.Application")
                    excelApp.DisplayAlerts = False
                Catch ex As Exception
                    System.Console.WriteLine("CreateObject......." + ex.Message)
                End Try
            End If

            If (excelApp Is Nothing) Then
                Return
            Else
                Try
                    excelBook = excelApp.Workbooks.Open(Args(0))
                Catch ex As Exception
                    System.Console.WriteLine("excelBook......." + ex.Message)
                End Try
                excelApp.Visible = False

                Try
                    excelsheet = New Microsoft.Office.Interop.Excel.Worksheet()
                    excelsheet = excelBook.Worksheets(sheetIndex)
                    excelsheet.Select()
                Catch ex As Exception
                    System.Console.WriteLine("excelsheet......" + ex.Message)
                End Try

                Dim range As Microsoft.Office.Interop.Excel.Range
                Try
                    range = excelApp.Cells(row, col)
                    range.Select() '设置对哪一个单元格插入文件
                Catch ex As Exception
                    System.Console.WriteLine("range......" + ex.Message)
                End Try

                Try
                    Dim height = (range.Height) * rowCount
                    Dim width = (range.Width) * colCount
                    Dim acdHeight = 1
                    Dim acdWidth = 1

                    Dim oleObj As Microsoft.Office.Interop.Excel.OLEObject
                    oleObj = excelsheet.OLEObjects.Add(FileName:=insertPath)
                    oleObj.Application.Visible = False
                    acdHeight = oleObj.Height
                    acdWidth = oleObj.Width

                    System.Console.WriteLine("acdHeight::acdWidth")
                    System.Console.WriteLine(acdHeight)
                    System.Console.WriteLine(acdWidth)
                    System.Console.WriteLine(acdHeight / acdWidth)

                    ' System.Console.WriteLine("height::width")
                    '  System.Console.WriteLine(height)
                    ' System.Console.WriteLine(width)

                    '满足关系:设宽为:x,高为y  则1.x/y=acdWidth/acdHeight 2.0<x< width 3.0<y<height
                    Dim flag As Boolean
                    Dim tempHeight = 1
                    Dim tempWidth = 1

                    flag = True
                    While flag = True
                        tempWidth = width '设置宽度
                        tempHeight = width * (acdHeight / acdWidth) '设置高度
                        If (tempHeight > height) Then
                            width = width - 0.5
                        Else
                            oleObj.Height = tempHeight
                            oleObj.Width = tempWidth
                            flag = False
                        End If
                    End While

                    System.Console.WriteLine("oleObj.height::oleObj.width")
                    System.Console.WriteLine(oleObj.Height)
                    System.Console.WriteLine(oleObj.Width)
                    System.Console.WriteLine(oleObj.Height / oleObj.Width)
                Catch ex As Exception
                    System.Console.WriteLine("OLEObjects......." + ex.Message)
                End Try

                Try
                    If Not excelApp.ActiveWorkbook.Saved Then
                        excelApp.SaveWorkspace()
                    End If
                    excelApp.Workbooks.Close()
                Catch ex As Exception
                    System.Console.WriteLine("Close......" + ex.Message)
                Finally
                End Try
            End If
        Else
            MsgBox("请检查传入参数个数是否正确")
        End If
    End Sub

End Module

 

分享到:
评论

相关推荐

    VB控制Excel中插入的ActiveX控件

    在VB(Visual Basic)编程环境中,我们可以利用VBA(Visual Basic for Applications)来控制Excel中的ActiveX控件,实现各种自定义功能。ActiveX控件是Microsoft Office套件中的一种组件,它们允许开发者在应用程序...

    vb读取EXCEL并插入远程数据库

    在VB(Visual Basic)编程中,读取Excel文件并将其数据插入到远程数据库是一项常见的任务,特别是在数据分析和数据迁移的应用场景下。以下是一份详细的知识点解析,涵盖了如何使用VB来实现这一目标: 1. **VB与...

    用VB制作EXCEL插件

    VB制作EXCEL插件是指使用VB.net开发EXCEL插件,该插件可以将EXCEL内的VBA封装成DLL文件,从而实现EXCEL的扩展功能。下面将详细介绍VB制作EXCEL插件的知识点。 一、EXCEL插件的概念 EXCEL插件是指在EXCEL中使用VB...

    vb将Excel导入到DataGrid(或数据库

    在VB编程环境中,将Excel数据导入到DataGrid或者数据库是一个常见的需求。以下是一些方法来实现这个功能: 方法一:将Excel当作数据库处理 这种方法利用了Excel的数据提供者(Microsoft.Jet.OLEDB.4.0),使得我们...

    ExcelandVB用VB创建EXCEL文件的实例

    创建Excel文件在VB中主要通过Microsoft Office Interop Excel库来实现,这是一个允许VB代码与Excel进行交互的组件。以下是一个简单的实例,展示如何用VB打开一个新的Excel工作簿,创建一个工作表,并输入数据: ```...

    VB读取Excel的图片

    在VB(Visual Basic)编程中,读取Excel文件并处理其中的图片,特别是图表,是一项常见的任务。在Excel中,图表通常以图形对象的形式存在,它们可以是工作表的一部分,也可以独立于数据存储。以下是一些关于如何使用...

    vb.net将excel中的数据导入到数据库

    本篇文章将详细介绍如何使用VB.NET实现将Excel文件中的数据导入到SQL Server数据库的过程,并对代码进行逐行解析,帮助读者更好地理解和掌握这一技术。 #### 1. 连接Excel文件 首先,我们需要建立与Excel文件的...

    在VB中调用EXCEL

    这样就可以使用VB来实现EXCEL中的操作。 十四、获取Excel有效区域的行和列数 获取Excel有效区域的行和列数是调用EXCEL的十四步。可以使用UsedRange对象来获取Excel有效区域的行和列数,如intLastColNum = ...

    vb读写excel的方法

    在VB(Visual Basic)中,读写Excel文件是常见的任务,这通常涉及到与Excel应用程序对象模型的交互。以下是一些关键知识点: 1. **引用Excel对象库**:在VB中使用Excel功能,首先需要在“工程”菜单中选择“引用”...

    VB操控excel实例

    在VB(Visual Basic)编程环境中,我们可以利用Microsoft Office的自动化接口来操控Excel应用程序,实现对Excel电子表格的各种操作。这个“VB操控excel实例”显然展示了如何通过VB代码来执行一些常见的Excel任务,如...

    VB_Excel_Pic

    标题“VB_Excel_Pic”和描述“VB轉圖到Excel”表明这是一个关于使用Visual Basic(VB)在Excel中插入图片的教程或示例。在本文中,我们将深入探讨如何利用Visual Basic for Applications (VBA),Excel内置的编程语言...

    如何在Word和Excel里插入gif动态图片

    要想实现动画的目的,就得借助 VB 中的一个特殊的插件 —— AniGIF.ocx(在 PPT 中无需这个 插件)。本文就以 Excel 2003 为例,对如何安装及使用这个插件做一介绍(在 Word 中的情况类同,可参考)。

    VB.NET批量从EXCEL中提取图像的

    通过以上步骤,你可以在VB.NET中实现从Excel文件批量提取图像。对于初学者来说,理解Office Interop的工作原理、COM组件的使用以及文件I/O操作是关键。同时,需要注意的是,这种方式可能会消耗大量内存,特别是处理...

    vb和excel制作通讯录

    增加功能则涉及向Excel表格中插入新行,VB会通过创建新的Range对象并设置其值来实现。删除功能相对复杂,需要确保正确选择要删除的行,并防止意外删除重要数据。通常,会在删除之前提示用户确认操作。 最后,VB的...

    VB 操作Excel手册

    1. **引用Excel对象库**:首先,为了在VB项目中使用Excel的相关对象,我们需要在代码中引用Excel对象库。这可以通过“工程”菜单 -&gt; “引用”选项完成,选择“Microsoft Excel [版本号] Object Library”,例如...

    VB6.0_导出excel_方法源代码_excel_vb6_vb6_VB_

    在VB6.0(Visual Basic 6.0)中,导出数据到Excel是一种常见的需求,主要用于数据分析、报表生成和数据交换。这个标题"VB6.0_导出excel...通过熟练掌握这些知识点,你可以轻松地在VB6.0项目中实现数据的Excel导出功能。

    VB 将excel数据导入sql2000

    在压缩包文件“将excel导入sql2000”中,可能包含了实现这一功能的VB源代码文件(.vb)、相关的配置文件或示例Excel数据文件。通过分析这些文件,开发者可以学习如何在实际项目中应用上述知识点,实现数据迁移的需求...

    VB导出excel中flash

    标题中的“VB导出excel中flash”指的是使用Visual Basic(VB)编程语言编写代码来提取Excel文件中嵌入的Flash对象。在Excel中,用户可以插入各种多媒体元素,包括Adobe Flash Player支持的SWF文件,以增强工作表的...

    VB导入EXCEL至SQL

    2. **Excel对象模型**:VB可以利用Excel的对象模型,如Workbook、Worksheet和Range,来访问和操作Excel文件中的数据。通过设置这些对象的属性和方法,VB脚本可以读取特定单元格的数据,或者整个工作表的数据。 3. *...

    VB 6.0 将EXCEL数据导入ACCESS数据库

    通过编写适当代码,可以从Excel文件中提取数据,并将其批量导入到Access数据库中,实现数据的整合与管理。这个过程涉及到数据库连接、数据读取、SQL语句执行以及资源管理等多个方面,是IT专业人员必备的技能之一。

Global site tag (gtag.js) - Google Analytics