Tag: vb.net

如何使用VB.net将Excelparameter passing给用户定义的Excel公式?

在vb.net中,我想在Excel中select4个单元格,然后将这些单元格值和1个button标记一起传递给Excel中的公式。 我按下一个月份的button,说“五月”作为文本。 我想在Excel中抓住一个单元格,标记为“May1t”,其值是可能的小时数。 这是我正在使用的代码。 xlsWB.Worksheets(2).Range(Month1&“1t”)。Value 我可以用这个值来设置一个variables,但是, 我想通过这个单元格(这将更新作为时间倒计时)和3个其他类似指定的单元格与button标签到Excel公式。 我有这样的东西: Private Sub F_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles F.Click xlsWB.Worksheets(4).Range("B2").Formula = "=MyFunction()" xlsWB.Worksheets(1).Range(Month1 & "1t").Select() End Sub 该公式按以下顺序获取参数:MyFunction(Cell,Tag,Cell,Cell,Cell)。

VB.net Excel自动化随机ComException

我已经在这个问题上做了很多研究,但是还没有提出任何明确的答案。 在写出报告时,我遇到了Excel随机获取ComExceptions的问题。 我正在使用Visual Basic 2005(框架2.0)控制台应用程序来创build这些报告。 这个问题很难弄清楚,因为它在随机发生的地方出现,所以我不能抓住错误来看问题。 我已经浏览了不同的项目,并且没有什么奇怪的,会导致这些问题。 此外,有时报告运行良好,没有任何问题。 堆栈跟踪:(15:27:24:247)types:System.Runtime.InteropServices.COMException(15:27:24:247)消息:从HRESULTexception:0x800AC472(15:27:24:253)堆栈跟踪:在System.RuntimeType.ForwardCallToInvokeMember(String memberName,BindingFlags flags,Object target,Int32 [] aWrapperTypes,MessageData&msgData)at Microsoft.Office.Interop.Excel.Range.set_Value(Object RangeValueDataType,Object)Error Code:-2146777998

如果值超出单元格的宽度,则合并单元格

如果单元格的内容或值超出单元格的宽度,我需要合并两个单元格。 例如,我有1000个字符的文本,自动写入时将自动换行到下一行。 我需要合并单元格,使内容将适合一个单元格。

VB.NET – 读取excel文件的整个内容

我已经知道如何使用VB.NET读取.xls文件的特定单元格的基本过程,但我无法弄清楚如何自动从这样的文件中获取所有的数据。 基本上,我正在获取这样的数据: Dim xlApp As Excel.Application Dim wb As Workbook Dim ws As Worksheet xlApp = New Excel.Application wb = xlApp.Workbooks.Open("myfile.xls") ws = wb.Worksheets("worksheet1") For Each cell In ws.Range("A1", "C10") Console.WriteLine(cell.value) Next 在这种情况下,我知道列A,B和C的前10行中会有内容,但是如果我有一个大小和内容甚至可能会不时变化的大文档,我该怎么办呢? 我知道也有一个属性ws.rows.count,但是这总是返回一个很大的值,比如60000,即使只有几行被占用。 所以基本上,我正在寻找一种简单的方法来循环访问Excel文件的所有已用行,并可以访问该行中的每个单元格。

在VB.NET中修改基于excel的模板

我打算像这样运行代码xlWorkSheet.Cells(rownumber,1)=“Some Value” 问题是当我打开Excel文档的单元格值不更新。 任何帮助将不胜感激 我使用下面的代码来打开文件 Dim pathtofile As String = Server.MapPath("~/UserControls/Upload/MyUpload.xlsx") Dim xlApp As Excel.Application =New Excel.Application Dim xlWorkBook As Excel.Workbook Dim xlworkbooks As Excel.Workbooks Dim xlWorksheets As Excel.Worksheets Dim misValue As Object = System.Reflection.Missing.Value Dim xlWorkSheet As Excel.Worksheet = Nothing xlWorkBook = xlApp.Workbooks.Add(misValue) xlworkbooks = xlApp.Workbooks xlWorkBook = xlworkbooks.Open(pathtofile ) xlWorkSheet = xlWorkBook.Sheets("Sheet1")

将Excel 2003工作簿转换为pdf表格

我再次杀了你的时间。 我必须做一个应用程序,将工作簿转换为PDF我正在使用PDF995。 但是我不知道如何configuration纸张尺寸,因为一些纸张大约需要150英寸。 也不是转换成平面的。 我希望它根据表名创buildpdf。 以下是我使用的代码示例。 Dim objExcel As Microsoft.Office.Interop.Excel.Application Dim objWorkBook As Microsoft.Office.Interop.Excel.Workbook Dim totalWorkSheets As Microsoft.Office.Interop.Excel.Worksheet Public Sub PrintByName(ByVal s As Worksheet) Dim myprinter As String Dim printer_name As String printer_name = "PDF995" If System.IO.Directory.Exists("D:\" + objWorkBook.Name) Then Else System.IO.Directory.CreateDirectory("D:\" + objWorkBook.Name) End If myprinter = objExcel.ActivePrinter objExcel.ActivePrinter = printer_name Thread.Sleep(1000) s.PrintOut(Preview:=False, ActivePrinter:=printer_name, […]

如何使一个用户表单发布系统graphics(.net)

我使用的是VS2008,我已经设法将我自学(严重)的代码和我在互联网上find的东西放在一起,现在我已经遇到了困难。 我看了一下,我不知道如何解决这个问题。 当有人按下一个button时,我会向两个模块发送数据,第一个将数据网格放置在数据网格的顶部并旋转图像,同时等待第二个线程将数据保存到Excel。 我得到的问题是当它运行代码时,到达'Me.PictureBox4.Image = DirectCast(BM_out.Clone(),System.Drawing.Image)'这一行'错误信息'在别处使用的对象'。 Public MoveByCalc As Double Public ReturnStack As New System.Collections.Generic.Stack(Of Integer) Public BM_In As New Bitmap(My.Resources.Fan) Public Wid As Single = BM_In.Width Public Hgt As Single = BM_In.Height Public Cx As Single = Wid / 2 Public Cy As Single = Hgt / 2 Public TimeElapsed As Single = 1 […]

VB(A)COM-DLL尝试实例化NET-DLL对象时出错

这是我的挑战 EXCEL-VBA打开一个位于一个地方的COM-DLL,指另一个NET-DLL中的一个类。 当COM-DLL尝试从类(在NET-DLL中)初始化一个对象时,出现get_ContentTypeProperties方法没有实现的错误。 错误消息“方法没有实现” 。 我从来没有创build方法get_ContentTypeProperties ,也不是我使用的接口的一部分。 当通过另一个DLL访问COM-DLL时,为了解决EXCEL-VBA问题,它可以正常工作。 有任何想法吗? 更新 :从实现_Worksheet接口(而不是_Workbook接口像原始问题)中使用不同的类从NET-Dll带来相同的错误消息,但至less我发现“未实现”方法(PrintOutEx)是一部分Microsoft.Office.Tools.Excel命名空间的工作表接口。 这个接口是由Visual Studio使用的,我正在创build我的DLL。 但是仍然…我的NET-DLL正在实现Microsoft.Office.Interop.Excel命名空间中的_Worksheet-Interface。 为什么从接口报告的方法丢失,我不执行? 更新 : 1.)根据进程监视器结果,我看到正确的DLL被寻址,并且没有在GAC中加载的DLL的干扰版本,例如 2.)我 – 以防万一 – 使Excel指代.NET框架2.xxx,其上所有涉及的DLL都基于…相同的错误再次:(

为什么我不能将DataLabel.Position设置为xlLabelPositionCustom?

我正在使用vb.net和excel 2007为我自己创build一些图表。 我想设置数据标签的位置为一个自定义的值,因为默认的上面的位置( xlLabelPositionAbove )会导致标签与错误条发生冲突,一侧的默认选项(如xlLabelPositionRight )可能会将标签留在另一个点或其他错误条上。 由于这个原因,我想把标签设置到一个自定义的位置,它与右上angular成45度angular(就像默认的上面和右边位置的中间位置)。 我试图通过调整xlMySeries.Points(index).DataLabel.Top和xlMySeries.Points(index).DataLabel.Left在第一次,但是我遇到了一个不明确的错误,导致我相信我没有做正确的事情。 然后我想要尝试设置xlMySeries.DataLabels.Position = xlLabelPositionCustom ,然后调整顶部和左侧。 但是,令我惊讶的是,我甚至无法将xlMySeries.DataLabels.Position更改为xlLabelPositionCustom ! 每当我尝试调整顶部,左侧或某个数据标签位置的位置时,我都会得到HRESULT:0x80004005(E_FAIL),这是我迄今为止使用excel发现的一个常见错误。 我不能将位置成员设置为自定义,或者只是在上面,左,右,中间以外的任何地方(所以不是最好的,自定义的或任何内部的) 任何想法,为什么我不能设置位置属性到我需要它,否则改变我的datalabels的位置? 我只需要一些方法来调整我的datalabels的定位到一个自定义psoition(或上面,左,右,中心,底部以外的位置)。 提前致谢!

从另一个线程访问Excel对象模型

我正在写一个VB.NET库,这将有助于生成Excel报告。 我是.NET / VS2010新手,很抱歉,如果我想做错的事情。 我需要的一个function是启动一个线程来执行一些工作(从Access数据源刷新工作簿)的例程,而主线程检查是否有任何对话框因为刷新失败而在Excel窗口中popup。 我遇到的问题是新线程无法引用Excel.Application对象。 它不会产生错误,只会冻结。 这里是我的情况的演示: Imports System.Threading Imports System.Diagnostics Imports System.Runtime.InteropServices Imports Microsoft.Office.Interop Public Class xlTest Public xlApp As Excel.Application Sub DoBackgroundStuff() MsgBox ("DoBackgroundStuff() says: " & xlApp.Version) End Sub Sub New() xlApp = New Excel.Application MsgBox ("New() says: " & xlApp.Version) Dim t As New System.Threading.Thread(AddressOf DoBackgroundStuff) t.Start() Do While t.IsAlive […]