Tag: vb6

VB / VBA:从剪贴板获取HTMLstring(通过网页浏览器复制)

看起来,当你从网页浏览器复制一些东西到剪贴板时,至less存储了两件东西: 纯文本 HTML源代码 然后,由您粘贴到的软件可以确定它想要哪一个。 当粘贴到MS Excel 2003中时 ,您将有一个粘贴特殊选项来粘贴HTML,它将粘贴格式化的HTML(如浏览器所显示的那样)。 我想要做的是以纯文本的forms粘贴实际的源代码。 这可以从VBA中的剪贴板中获取吗? 编辑我试图访问复制的HTML的所有源代码,包括标签。

奇怪的Excel格式

最近,我们公司聘请了一个新的合作社,负责提交报告。 该报告查询数据库并返回一个结果集并从那里开始创build电子表格。 根据select的天数,生成不同数量的报告,但我不认为这是相关的问题。 基本上它运行的报告,并通过结果集循环,但在某个点上继续循环,直到它停在65536。 例如,如果结果集包含74条logging,则前74行将正常显示(格式化为黄色),而之后的所有内容也将被格式化为黄色,尽pipe它应该单独保留。 我inheritance了这个代码,因为我是一个新的合作社。 显然,这只有在“换岗”时才会发生(新合作社必须运行报告) DoCmd.SetWarnings False DoCmd.OpenQuery ("DailySummaryQueryMain") strSQL = "SELECT * FROM DailySummaryMain" Set rs = CurrentDb.OpenRecordset(strSQL) DoCmd.Echo True, "Running first Report" If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF And Not rs.BOF xlapp.Range("A" & i).Value = rs.Fields(0).Value xlapp.Range("B" & i).Value = rs.Fields(1).Value xlapp.Range("C" & i).Value = rs.Fields(2).Value Set rs2 […]

Excelmacros将数据从一个工作表复制并粘贴到另一个工作表

我试图search列中的值,从Sheet1复制行,并创build新的工作表MySheet和粘贴该特定的行。但是我粘贴MySheet.Anybuild议请运行时错误。 数据input我正在尝试: ID名称价格单位desc 1 ikura 10 4邮箱 2testing11 14 xxxx 3testing11 14 yyyy 4testing11 14邮箱 Sub SearchForString() Dim LSearchRow As Integer Dim LCopyToRow As Integer On Error GoTo Err_Execute 'Start search in row 4 LSearchRow = 4 'Start copying data to row 2 in Sheet2 (row counter variable) LCopyToRow = 2 Worksheets.Add (After:=Worksheets(Worksheets.Count)).Name = "MySheet" […]

强制COM服务器保持打开状态

我有一个由VB6 EXE托pipe的COM自动化服务器 。 COM VBA使用Excel VBA : Dim o as MyCOMAPI.MyCOMType Set o = new MyCOMAPI.MyCOMType o.DoSomething 当我在VBA中创build对象时,exe随着COM自动化一起启动,VBA可以使用API​​。 但是EXE很快就被Excelclosures了,我猜测Excel什么时候决定不再需要COM API了。 此行为导致随机错误。 简单的解决scheme是在运行VBA代码之前启动exe; 在这种情况下,所有工作正常,因为exe将不会停止运行,直到用户closures。 你有一些关于Excel VBApipe理托pipeAPI调用方式的信息/文档吗? 有没有办法避免这种行为,并保持exe文件保持打开,直到VBA代码决定停止它?

有没有办法来防止在VBAdynamic数组中的额外元素?

正如标题所述,有没有办法阻止额外的元素显示在VBAdynamic数组中,当他们是非零基础? 例如,使用类似于以下的代码时: While Cells(ndx, 1).Value <> vbNullString ReDim Preserve data(1 To (UBound(data) + 1)) ndx = ndx + 1 Wend 处理结束时,您有一个额外的空数组元素。 虽然这可以通过以下方式消除: ReDim Preserve data(1 To (UBound(data) – 1)) 这似乎不是解决这个问题的最好方法。 因此,是否有办法防止多余的元素被创build呢? 最好是在循环内部不需要额外的逻辑。

如何使用ssis转换一组xls 2制表符分隔的文件?

如何使用ssis将一组xls文件转换为制表符分隔的文件? 有一个脚本在谷歌search做这个。请告诉我如何使用ssis实现这一点 Dim objFSO, objFile, objFileTSV Dim strLine, strNewLine, strNewText Dim FileNameLength, LineLength, NewFileName, Linepos, Quote, QuoteCount, TotalFilesConverted objFSO = CreateObject("scripting.filesystemobject") strCurPath = objFSO.GetAbsolutePathName(".") TotalFilesConverted = 0 For Each objFile In objFSO.getfolder(strCurPath).Files If UCase(Right(objFile.Name, 4)) = ".CSV" Then FileNameLength = Len(objFile.Name) – 4 NewFileName = Left(objFile.Name, FileNameLength) & ".tsv" objFile = objFSO.OpenTextFile(objFile, 1) Do Until […]

从Excel缓慢读取

我正在通过VB 6读取Excel文件,如下所示 Dim objExcel As Excel.Application Dim objWorkbook As Excel.Workbook Dim objWorksheet As Excel.Worksheet Dim ExlUsedRowCount As Long Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open(FileName, , True) Set objWorksheet = objWorkbook.Sheets(1) ExlUsedRowCount = objWorksheet.UsedRange.Rows.Count For RowIndex = 1 To ExlUsedRowCount someVariable = Trim$(objWorksheet.Cells(RowIndex, 9)) Next objWorkbook.Close False Set objExcel = Nothing Set objWorkbook = […]

如何在VB6中创build一个新的Excel电子表格

我试图从VB6应用程序内创build一个Excel电子表格,因此… Set xl = New Excel.application Set xlwbook = xl.Workbooks.Open(file_name) Set xlsheet = xlwbook.Sheets.Item(1) 其次是 xlsheet.Cells(1, 1) = "Blah blah blah" 等等。 我特别希望每次执行此操作时都创build一个新文件。 此刻它返回一个文件未find错误。 我想知道这是否是正确的方法,如果是这样,我可以如何请求由.Open方法(或任何我应该使用的方法)创build一个新的文件。

将现有VBA引用的位置从C:\ Windows \ system32 \更改为共享驱动器

我一直在试图得到一个参考文件被加载外部无济于事。 具体来说,我试图加载一个“Microsoftdate和时间select器控制6.0(SP4)”通常驻留在C:\ Windows \ System32 \ MSCOMCT2.OCX 然而,一些运行包含这个元素的macros的人在他们的PC上没有这个“MSCOMCT2.OCX”文件,所以我想我会把MSCOMCT2.OCX移到一个共享位置,并引用代码来使用共享的代码(所以每个人都可以访问它) 我试图做到这一点,但当我试图从另一个位置加载一个引用“浏览”它没有加载它 – 因为我已经在C中:.. 所以我认为确定…我将从C:\删除文件,所以我只能引用共享文件。 – 所以我删除它。 所以我再次打开工作簿,看看引用 – 我找不到“Microsotft Windows公共控制-2.6.0(SP4)” – 太棒了! 我继续从共享驱动器中手动添加浏览。 但是当我这样做时,正在添加2个“Microsotft Windows Common Controls-2.6.0(SP4)”引用 – 1个来自C:\(不存在),1个来自共享驱动器。 C:\中的一个始终是自动select的。 如果我试图从C:\中禁用一个,并启用共享驱动器中的一个,它会自动变回原来的状态。 如果我尝试启用两个 – 它说重复的引用,并保持只有一个从C:\ 所以..有没有人知道我怎么能摆脱列表中的C:\参考,所以它不会被加载? 显然删除文件本身没有工作。 最终我的目标是使没有C:\ Windows \ System32 \ MSCOMCT2.OCX文件的人能够使用我的date选取器工具。 非常感谢!

在Excel中更改字体样式从VB6?

我目前正在编写一个button,将所有数据从一个列表视图转移到一个Excel工作簿,所以它可以打印为条形码标签。 条形码的工作方式是它是一个真正的字体。 即时通过运行到问题,但通过VB6,我不知道如何格式化一个单元格的范围有不同的字体样式,所以我可以改变某些单元格,以便能够显示条形码。 我得到了 oSheet.range("D2:D10").Font 其中D2:D10不是我正在玩的单元格的设定范围。 即时通讯不知道去哪里的字体属性在这里。