精华内容
下载资源
问答
  • 如何VB调用EXCEL的自定义排序功能,以A列为基础做升序排列,排列时B/C/D.......列跟随A列而改变。排列内容为数字 ![图片说明](https://img-ask.csdn.net/upload/201901/07/1546857876_650237.png) 请老师帮忙...
  • 自定义函数为转换首字母的函数 Function pinyin(p As String) As String i = Asc(p) Select Case i ...Case -20319 To -20284: pinyin = "A" ...显示调用错误,或者无效调用如何解决。。。 求解谢谢
  • 我想把execl2007里面生成的统计图表放入vb6编写的界面里面,应该怎么处理?
  • 使用.net 调用Excel 生成Excel 报表 的时候 会出现 Excel.exe的进程不能关闭. 反复打开几次就会多几次Excel.exe的问题. 网上使用的关闭此进程的方法. ... .... GC.Collect(); ... .... 可是这样的方法有时不起...

    使用.net 调用Excel 生成Excel 报表 的时候 会出现 Excel.exe的进程不能关闭. 反复打开几次就会多几次Excel.exe的问题.

    网上使用的关闭此进程的方法.

    ... ....

    GC.Collect();

    ... ....

    可是这样的方法有时不起作用.

    直被一个问题困扰就是导出excel时如何关闭excel进程,我使用过oExcelApp.Quit(); 也用过GC回收,结果都不理想,后来发现可以kill进程,但是问题是kill进程 时不好解决多人并发的使用,比如一个人在导表然后kill所以的excel但是如果同时又有人在导表那么这就把另外一个excel结束了,现在我们要办的 是如何kill当前这个进程,这里我们先看一下代码:

    Public Function CloseExcel(ByRef _xl As Excel.Application) As Boolean 
         
    If _xlApp Is Nothing Then 
               Return True 
           End If 
           If _xlSheet Is Nothing Then 
               Return True 
           End If 
           Try
               Dim PreocessExcelId As Integer = 0 
               BringWindowToTop(_xlApp.Hwnd) 
               If _xlBook IsNot Nothing Then 
                   Try 
                       _xlBook.Close() 
                   Catch ex As Exception 
                       If Not (TypeOf (ex) Is COMException) Then 
                           Throw ex 
                       End If 
                   End Try
               End If
               _xlApp.Quit() 
               GetWindowThreadProcessId(_xlApp.Hwnd, PreocessExcelId) 
               If PreocessExcelId > 0 Then 
                   Dim pExcel = Process.GetProcessById(PreocessExcelId) 
                   If pExcel IsNot Nothing Then 
                       pExcel.Kill() 
                       Return True 
                   End If 
               End If 
           Catch ex As Exception 
               '_xlBook.Close() 
               '_xlApp.Quit() 
           Finally 
               _xlSheet = Nothing 
               _xlBook = Nothing 
               _xlApp = Nothing
           End Try
       End Function
       <DllImport("User32.dll")> _ 
       Private Shared Function GetWindowThreadProcessId(ByVal hWnd As IntPtr, ByRef OutPresId As Integer) As Integer
       End Function
    'BringWindowToTop 
       <DllImport("User32.dll")> _ 
       Private Shared Function BringWindowToTop(ByVal hWnd As IntPtr) As Boolean
       End Function


    展开全文
  • vb如何读取excel文件

    万次阅读 2016-10-05 11:52:29
    转自:...1、调用Excel对象打开EXCEL文件后,读取文件内容 ************************

    转自:http://zhidao.baidu.com/link?url=f567gT9oPD0F_MoLS61zCVsFGzGpzSQvUM9hU-wC7SdALJucmFDGMMU_E0c8ntTnK8ms2fkUF-a8xTDJrgJV_H1Iq2wa7WKCydAFksm95ba

    1、调用Excel对象打开EXCEL文件后,读取文件内容
    ***************************************
    在VB中要想调用Excel,需要打开VB编程环境“工程”菜单中的“引用”项目,并选取项目中的“MicrosoftExcel 11.0 object library”项。由于你的Excel版本不同,所以这个选项的版本号也是不同的。
     
    因为EXCEL是以层次结构组织对象的,其对象模型中含有许多不同的对象元素。
    第一层:Application对象,即Excel本身;
    第二层:workbooks对象集,指Excel的工作簿文件
    第三层:worksheets对象集,表示的是Excel的一个工作表;
    第四层:Cells和Range对象,指向Excel工作表中的单元格。
    新建立一个VB的工程,先放一个button,名称为Excel_Out。先定义好各层:
    Dim xlapp As Excel.Application 'Excel对象
    Dim xlbook As Excel.Workbook '工作簿
    Dim xlsheet As Excel.Worksheet '工作表
    我们打算做的是:打开/新建一个excel,在其中对某工作表的一些单元格修改其值,然后另存为test.xls文件。
    Private Sub Excel_Out_Click()
     Dimi, j As Integer
     Setxlapp = CreateObject("Excel.Application") '创建EXCEL对象
     'Set xlbook = xlapp.Workbooks.Open(App.Path& "\test.xls")'打开已经存在的test.xls工件簿文件
     Setxlbook = xlapp.Workbooks.Add '新建EXCEL工件簿文件
     'xlbook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏
     'xlbook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏
    xlapp.Visible = True '设置EXCEL对象可见(或不可见)
     Setxlsheet = xlbook.Worksheets(1) '设置活动工作表''
                                  ''~~~当前工作簿的第一页,这里也可以换成“表名”
     
    '下面就是简单的在一些单元格内写入数字
     Fori = 7 To 15
      For j = 1 To 10
    xlsheet.Cells(i, j) = j   '当前工作簿第一页的第I行第J列
      Next j
     Nexti
     Withxlsheet      '设置边框为是实线
       .Range(.Cells(7, 1), .Cells(28, 29)).Borders.LineStyle = xlContinuous
     EndWith
     '引用当前工作簿的第二页
     Setxlsheet = xlapp.Application.Worksheets(2)
    xlsheet.Cells(7, 2) = 2008   '在第二页的第7行第2列写入2008
    xlsheet.SaveAsApp.Path&"\test.xls"           '按指定文件名存盘
     'Setxlbook = xlapp.Application.Workbooks.Add '新建一空白工作簿
    xlapp.Quit '结束EXCEL对象'xlapp.Workbooks.Close
     Setxlapp = Nothing '释放xlApp对象
    End Sub
    这样,我们就可以简单的对excel文件进行操作了。下面再放一些我从网上查到的资料吧,还挺有用的:
         1.创建Excel对象
    eole=CREATEOBJECT(′Excel.application′) 
        2.添加新工作簿
    eole.Workbooks.add
        3.设置第3个工作表为激活工作表
    eole.Worksheets(〃sheet3〃).Activate 
        4.打开指定工作簿
    eole.Workbooks.Open(〃c:\temp\ll.xls〃) 
        5.显示Excel窗口
    eole.visible=.t. 
        6.更改Excel标题栏
    eole.Caption=〃VB应用程序调用Microsoft   Excel〃
        7.给单元格赋值
    eole.cells(1,4).value=XM(XM为数据库字段名) 
        8.设置指定列的宽度(单位:字符个数) 
    eole.ActiveSheet.Columns(1).ColumnWidth=5 
        9.设置指定行的高度(单位:磅) 
    eole.ActiveSheet.Rows(1).RowHeight=1/0.035 
        (设定行高为1厘米,1磅=0.035厘米) 
       10.在第18行之前插入分页符
    eole.Worksheets(〃Sheet1〃).Rows(18).PageBreak=1 
       11.在第4列之前删除分页符
    eole.ActiveSheet.Columns(4).PageBreak=0 
       12.指定边框线宽度(Borders参数如下) 
    ole.ActiveSheet.Range(〃b3:d3〃).Borders(2).Weight=3 
       13.设置四个边框线条的类型
    eole.ActiveSheet.Range(〃b3:d3〃).Borders(2).LineStyle=1 
        (其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线) 
       14.设置页眉
    eole.ActiveSheet.PageSetup.CenterHeader=〃报表1〃
       15.设置页脚
    eole.ActiveSheet.PageSetup.CenterFooter=〃第&P页〃
       16.设置页眉到顶端边距为2厘米
    eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035 
       17.设置页脚到底边距为3厘米
    eole.ActiveSheet.PageSetup.FooterMargin=3/0.035 
       18.设置顶边距为2厘米
    eole.ActiveSheet.PageSetup.TopMargin=2/0.035 
       19.设置底边距为4厘米
    eole.ActiveSheet.PageSetup.BottomMargin=4/0.035 
       20.设置左边距为2厘米
    veole.ActiveSheet.PageSetup.LeftMargin=2/0.035 
       21.设置右边距为2厘米
    eole.ActiveSheet.PageSetup.RightMargin=2/0.035 
       22.设置页面水平居中
    eole.ActiveSheet.PageSetup.CenterHorizontally=.t. 
       23.设置页面垂直居中
    eole.ActiveSheet.PageSetup.CenterVertically=.t. 
       24.设置页面纸张大小(1-窄行8511   39-宽行1411) 
    eole.ActiveSheet.PageSetup.PaperSize=1 
       25.打印单元格网线
    eole.ActiveSheet.PageSetup.PrintGridlines=.t. 
       26.拷贝整个工作表
    eole.ActiveSheet.UsedRange.Copy
       27.拷贝指定区域
    eole.ActiveSheet.Range(〃A1:E2〃).Copy 
       28.粘贴
    eole.WorkSheet(〃Sheet2〃).Range(〃A1〃).PasteSpecial
       29.在第2行之前插入一行
    eole.ActiveSheet.Rows(2).Insert 
       30.在第2列之前插入一列
    eole.ActiveSheet.Columns(2).Insert 
       31.设置字体
    eole.ActiveSheet.Cells(2,1).Font.Name=〃黑体〃
       32.设置字体大小
    eole.ActiveSheet.Cells(1,1).Font.Size=25 
       33.设置字体为斜体
    eole.ActiveSheet.Cells(1,1).Font.Italic=.t. 
       34.设置整列字体为粗体
    eole.ActiveSheet.Columns(1).Font.Bold=.t. 
       35.清除单元格公式
    eole.ActiveSheet.Cells(1,4).ClearContents
       36.打印预览工作表
    eole.ActiveSheet.PrintPreview
       37.打印输出工作表
    eole.ActiveSheet.PrintOut
       38.工作表另存为
    eole.ActiveWorkbook.SaveAs(〃c:\temp\22.xls〃) 
       39.放弃存盘
    eole.ActiveWorkbook.saved=.t. 
       40.关闭工作簿
    eole.Workbooks.close
       41.退出Excel 
    eole.quit
    ***************************************
    
    2、调用ADO对象以数据库方式打开EXECL文件后,以SQL语句方式读取文件
    ***************************************
         Dim rs As ADODB.Recordset
          Set rs = New ADODB.Recordset
          Dim conn As ADODB.Connection
          Set conn = New ADODB.Connection
          conn.Open "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" DBQ=" & App.Path & ";", "", ""
          rs.Open "select * from [test$]", conn, adOpenStatic, adLockReadOnly, adCmdText
          Set Read_Text_File = rs
          Set rs = Nothing
          Set conn = Nothing
    ***************************************

    展开全文
  • excel做的线性回归,结果不太对,怎么回事呢?很可能是公式输入出错。逐一点一下数据,看看函数栏。谁会EXCLE做加权移动平均、单指数平滑、双指数平滑、线性回归、逐步回归分析、距离加权最小二乘平滑可以明确告诉...

    用excel做的线性回归,结果不太对,怎么回事呢?

    很可能是公式输入出错。逐一点一下数据,看看函数栏。

    谁会EXCLE做加权移动平均、单指数平滑、双指数平滑、线性回归、逐步回归分析、距离加权最小二乘平滑

    可以明确告诉你,这些指标都不能在EXcle里面直接计算的。

    建议你去网上下了minitab,这些指标都可以计算的。

    你做品质吧,呵呵~

    用matlab如何将excle中的数据拟合成多元非线性函数并做出图,能不能写成

    你没有具体的数据结构,无你具体的代码。只能将“matlab如何将excle中的数据成多元非线数并做出图”的实现步骤说明如下:

    首先,用xlsread()函数来读取excel 的数据。并赋值给A

    A=xlsread('xxx.xls')

    第二,由矩阵A,提取y,x1,x2,x3,。。。

    y=A(:,1),x1=A(:,2),x2=A(:,3),。。。

    第三,根据y,x1,x2,x3数据,初定拟合多元非线性函数的形式(此过程需要调整)

    func=@(a,x) 多元非线性函数表达式

    第四,用lsqcurvefit()或nlinfit()函数来拟合多元非线性函数的系数

    a=lsqcurvefit(func,a0,x,y); 或 a=nlinfit(x,y,func,a0);

    第五,用corrcoef()函数来判别拟合效果

    y=A(:,1)

    y1=func(a,x)

    R2=corrcoef(y1,y); 当R2≈1,则拟合是比较合理的。

    如你有具体的数据,可以复制到私信上,进一步交流。

    Excel添加趋势线中的R平方值和截距分别是什么意思?

    当趋势线的 R 平方值等近似于 1 时,趋势可靠趋势线拟合时,Excel 会自算其 R 平方值。如果需要,您可以在图表上显示该值。

    R可以理解为相关系数,像一元线性回归预测方法里面也有这个R,相关系数是反映两个变量间是否存在相关关系,以及这种相关关系的密切程度的一个统计量。越接近1关系越密切,越接近0则不存在线性关系。

    R方则反映多元线性回归的关系,同样越接近1越线性相关

    截距是在选中“设置截距 =”复选框中的吧。这个截距的意思是:在“设置截距 =”框中,键入用于指定垂直(值)轴上趋势线与该轴交叉的点的值。

    注意:只有在您使用指数、线性或多项式趋势线时才能执行此操作。

    希望能对您有帮助~

    如何在excle表格中做线性回归分析

    方/步骤

    在桌面新建一个Excel表格。

    表格,输入制表的数据

    【插入】【图表】。

    在【图表】里选择【X Y散点图】,点击完成。

    选择图表里面的一个点,鼠标右击,选择【添加趋势线】

    在【添加趋势线】界面里面点【选择】进入界面

    在【选项】里面勾选【显示公式】和【显示R平均值】,点完就可以了。

    完成后的结果

    excel2007线性拟合出来的公式明显不对

    添加趋势线,不知道你怎么做的

    excel 拟合的曲线不准确,是怎么回事,求大神解决!!谢谢

    线性函数的这个明显是把内隔墙传热系数当做X了

    excel 趋势线 是怎么计算出来的

    趋势线?

    展开全文
  • 最近在做一个项目,项目的主体是基于Excel的VBA开发...为了使软件整体化、结构化,借助于VB,绘制了一个窗体,窗体上有若干个Button,每一个Button对应着一个带有VBA宏的Excel文件。 借助于以下语句将Excel文件打开 P

    最近在做一个项目,项目的主体是基于Excel的VBA开发。项目的各个要求比较零碎,每一项要求之间互相独立,于是每一项要求就由一个Excel表格来单独实现,项目结果是产生了若干个零碎的带有VBA宏的Excel文件。

    为了使软件整体化、结构化,借助于VB,绘制了一个窗体,窗体上有若干个Button,每一个Button对应着一个带有VBA宏的Excel文件

    借助于以下语句将Excel文件打开

    Private Sub Command1_Click()
        Dim ExcelApp As Object
        Dim MyExcel As Object
        
        Set ExcelApp = CreateObject("Excel.Application")
        ExcelApp.Visible = True
        Set MyExcel = ExcelApp.workbooks.open(App.Path + "\模板.xls")
        MyExcel.Activate

    End Sub

    下一个问题便是如何调用已经编制好了的VBA宏呢?首先想到的思路是把VBA宏复制过来,放到VB程序中,然后在Sub Command1_Click()中调用它,但是实施起来发现很困难,因为Application、workbooks、ThisWorkbook这些Excel VBA中习以为常的词汇VB却看不明白,需要一点一点的告诉Vb这是什么意思,非常麻烦,于是就想,能否让VB直接去调用Excel VBA中的宏呢?

    ExcelApp.run "ThisWorkBook.FillProcedure"        'run的调用者应是Application对象,而且,宏的名字前面要加ThisWorkBook.

    感谢http://blog.csdn.net/zhu2695/article/details/16974765中的提示。

    展开全文
  • 我现在在vb.net写了一段代码,要求调用test文件中的自定义函数maxb(),应该如何操作呢 如以下代码所示,调用原来的函数max()是没有问题的,但调用自定义的函数,却不知怎么个用法 Option Explicit On Imports ...
  • 如何VB6.0应用程序中调用Exce12000,供大家参考
  • 如何vb.net中调用Excel中的宏,已启动就运行的那种,谢谢了 转载于:https://www.cnblogs.com/sun_moon_earth/archive/2006/04/05/367774.html
  •  Set xlmodule = xlbook.VBProject.VBComponents.Add(1) 'vbext_ct_StdModule  ' Add a macro to the module...  Dim strCode As String  strCode = _  "sub MyMacro()" & vbCr & _  " msgbox ""Inside ...
  • Vb中添加MonthView控件:工程—部件-microsoftwindows common controls -2.6 然后在工具栏中选择MonthView控件 如何取得MonthView控件中的日期呢? Private SubMonthView1_DateClick(ByVal DateClicked As Date) '...
  • 按照论坛里的指导用vb6.0成功封装成dll并且打开excel引用完成, excel启动宏时显示错误“没有注册类”,可是dll明明已经注册了的, 有人说是VB6封装的Dll不能在64位Excel 中使用,有什么办法快速解决吗?
  • delphi 调用 Excel

    千次阅读 2009-10-15 16:15:00
    最近很长时间研究如何用delphi调用Excel宏,找了很多资料,大多是讲如何调用Excel,有好几种方式,但真正讲宏的很少,我现在把我的资料共享一下,省得今后有想了解这方面内容的兄弟姐妹们少走弯路。:1、加载activex...
  • vs2015 Microsoft Excel 16.0 Object Library ...另外,看到网上的vb.net 读取excel是可以用sheet(x).cells(x,y)这种写法的,但是我在sheet(x)后面打上“.”以后,后面的提示并没有cells,这是为什么呢? 谢谢
  • 有时,我们为了保证数据的准确性,需要在对Excel工作表的指定区域进行保护,以达到禁止用户修改的目的,那么,如何用代码直接实现呢?  为此,我编写了一个简单的函数供大家调用,虽然该函数是用VBA写的,其实,...
  • VB生成的ActiveX DLL/EXE,需要使用CreateObject调用,就象在VFP中调用Excel一样
  • 因为经常要做周报、月报PPT,每次重复的的操作效率很低,这里整理了一套可以自动生成PPT的办法。首先,大概思路是这样的。周报、月报这类经营分析类PPT一般都是由表格、图表以及分析文字...再通过PPT直接调用EXCEL内...
  • 在Visual C++ 中调用Excel 2000 在开发软件时,经常要将数据输出到Excel 2000中,在Excel 2000中对该数据进行进一步地格式化处理或进行计算处理。在Visual Basic中处理起来较简单,Excel 2000的VB编程帮助中有较为...
  • 在Visual Basic中处理起来较简单,Excel 2000的VB编程帮助中有较为详细的介绍。在Visual C++中如何进行处理了?利用Excel 2000的ActiveX Automate功能,处理起来同VB中类似。但要注意以下几点:
  • VB对于Excel的编程参考

    2016-01-12 14:20:48
    阐述如何在 Microsoft Visual Basic 中以编程方式创建、调用 Microsoft Excel VBA 宏并将它与工具栏按钮相关联。
  • 在Visual Basic中处理起来较简单,Excel 2000的VB编程帮助中有较为详细的介绍。在Visual C++中如何进行处理了?利用Excel 2000的ActiveX Automate功能,处理起来同VB中类似。但要注意以下几点: 对于对象的属性值的...
  • 使用EXCEL界面可以求解线性规划最优解相关的问题,我现在就是想问问如何VB编辑页面直接调用这个单纯形法求解线性规划的函数?
  • 当我们想把SQL中的数据导出到其他的数据源,或者从其他的数据源中导入到SQL数据库或表中时,一般都是用一些SQL语句或工具控件来实现,但在数据量很大或者对SQL不太熟悉时,应该如何去做,有一个比较简单的方法: 1....

空空如也

空空如也

1 2 3 4 5
收藏数 93
精华内容 37
关键字:

vb如何调用excel