标题:VB6.0操作WPS2019
只看楼主
foreach
Rank: 2
等 级:论坛游民
帖 子:30
专家分:57
注 册:2020-4-15
结帖率:14.29%
 问题点数:0 回复次数:12 
VB6.0操作WPS2019
网上搜索了很久VB6.0操作WPS的问题,经过测试,以下代码可以实现WPS2019个人免费版(不含VBA组件)的处理,未测试其他处理是否与微软一致。
测试环境Windows10专业版+WPS2019个人PC版V11.1.0.9584

程序代码:
Private Sub Command1_Click()
        Set xlApp = CreateObject("ket.Application")  '后期绑定WPS,测试win10专业版+WPS2019个人PC版-V11.1.0.9584
        '网上查询说et.Application及excel.Application也能,但我测试都会提示错误
        Set xlBook = xlApp.Workbooks.Open(App.Path & "\" & "测试.xls")  '打开指定路径指定名称文件
        xlApp.Visible = True '显示WPS界面
        Set xlSheet = xlBook.Worksheets(1) '定义,工作簿中第1个工作表
        xlSheet.Range("A2") = 123   '第一个工作表A2单元格写入数值123
        xlBook.Saveas (App.Path & "\" & "测试结果.xls")    '另存为指定路径和名称
        xlBook.Close    '关闭WPS
        MsgBox ("ok")
End Sub
搜索更多相关主题的帖子: 测试 指定 VB6.0 Application 操作 
2020-04-25 12:43
llzehua
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-1-23
得分:0 
Set xlApp = CreateObject("ket.Application") 在WPS可用,但是在OFFICE不行。  使用Set xlApp = CreateObject("EXCEL.Application")   两者都可以了
2020-05-16 15:27
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 

我一般,先
Set xlApp = CreateObject("EXCEL.Application")
然后判断是否有错误,
有错误,再
Set xlApp = CreateObject("ET.Application")
按你说的还有第三种引用,那就再判断下去

只要有一个引用成功,就继续程序,否则就中断。后面的操作基本是一样的,还没遇到不一样地方来。


WINXP+VB6.0+无OFFICE+无WPS编写环境,编译
WIN10+WPS 11.1.0.9584 测试通过
程序代码:
On Error Resume Next        '错误继续
Err.Clear                   '清除错误表
Set xlApp = CreateObject("EXCEL.Application")
If Err.Number <> 0 Then     '是否有错误
    Set xlApp = CreateObject("ET.Application")
        If Err.Number <> 0 Then     '是否有错误
            MsgBox "程序发生致命错误,无法继续", vbCritical
            End
        End If
End If

授人于鱼,不如授人于渔
早已停用QQ了
2020-05-16 20:57
foreach
Rank: 2
等 级:论坛游民
帖 子:30
专家分:57
注 册:2020-4-15
得分:0 
回复 2楼 llzehua
实际测试Set xlApp = CreateObject("EXCEL.Application"),在系统仅有WPS个人版时,会报错,不知道什么原因
2020-05-19 14:34
foreach
Rank: 2
等 级:论坛游民
帖 子:30
专家分:57
注 册:2020-4-15
得分:0 
回复 3楼 风吹过b

对,我就是先判断有没打开Excel,再判断是否可以绑定Excel,不能再判断是否有打开WPS,再判断是否可以绑定WPS......这样不管什么版本的都可以了
2020-05-19 14:36
inchn
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-5-21
得分:0 
mark 收藏
2020-06-28 07:22
wzw6670
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2021-2-14
得分:0 
回复 楼主 foreach
为甚要先做一个测试。xls,然后又出一个测试结果?第一个测试.xsl有什么用呐?
2021-02-14 23:23
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:0 
生成Excel报表的常用操作总结

程序代码:
Dim FileName, SheetName, Text, ExcelApp, ExcelBook, ExcelSheet
FileName = "C:\Users\admin\Desktop\Book1.xls"
SheetName = "新建表"
Text = "这是一个测试文本"
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook= ExcelApp.Workbooks.Open(FileName)
Set ExcelSheet = ExcelBook.Sheets.Add '插入工作表
'Set ExcelSheet = ExcelBook.Sheets.Item(SheetName) '获得指定工作表
' *************** 对数据表的操作 ***************
For i=1 To ExcelBook.Sheets.Count
If ExcelBook.Sheets(i).Name=SheetName Then
ExcelApp.DisplayAlerts=False
ExcelBook.Sheets(i).Delete '删除工作表
ExcelApp.DisplayAlerts=True
Exit For
End If
Next
ExcelSheet.Name = SheetName '重命名工作表
' *************** 对文字的操作 ***************
ExcelSheet.Cells(1,2) = Text
ExcelSheet.Range("B2","B20").Value = Text
ExcelSheet.Cells(1,2).Font.Name = "Verdana" '设置字体
ExcelSheet.Cells(1,2).Font.Size = 25 '设置字号
ExcelSheet.Cells(1,2).Font.Color = RGB(0, 0, 255) '设置字体颜色
ExcelSheet.Cells(2,2).Font.Bold = True '文字加粗
ExcelSheet.Cells(3,2).Font.Italic = True '文字倾斜
ExcelSheet.Cells(4,2).Font.Underline = True '文字加下划线
ExcelSheet.Cells(5,2).Font.Strikethrough = True '文字加删除线
ExcelSheet.Cells(6,2).Characters(2, 2).Font.Superscript = True '设定文字上标
ExcelSheet.Cells(7,2).Characters(2, 2).Font.Subscript = True '设定文字下标
' *************** 对单元格的操作 ***************
ExcelSheet.Columns("B").ColumnWidth = 40 '设置列宽
'ExcelSheet.Columns("B").AutoFit '自动调整列宽
ExcelSheet.Range("B11").RowHeight=40 '设置行高
'ExcelSheet.Rows(11).Rows.AutoFit '自动调整行高
ExcelSheet.Range("B8","D8").Merge '合并单元格,水平方向
ExcelSheet.Range("B18","B19").Merge '合并单元格,垂直方向
ExcelSheet.Range("B8","D8").Borders.Color = RGB(0,255,0) '设定单元格边框颜色
ExcelSheet.Range("B12").Interior.Color = RGB(255,0,0) '设置单元格背景色
ExcelSheet.Cells(9,2).WrapText = True '自动换行
ExcelSheet.Cells(10,2).HorizontalAlignment = 3 '设置水平对齐,1常规,2靠左,3居中,4靠右
' 5填充,6两端对齐,7跨列居中,8分散对齐
ExcelSheet.Cells(11,2).VerticalAlignment = 1 '设置垂直对齐,1靠上,2居中,3靠下
' 4两端对齐,5分散对齐
ExcelSheet.Range("B14").Borders(1).LineStyle=1 '设置左边框样式
ExcelSheet.Range("B14").Borders(2).LineStyle=2 '设置右边框样式
ExcelSheet.Range("B14").Borders(3).LineStyle=3 '设置上边框样式
ExcelSheet.Range("B14").Borders(4).LineStyle=4 '设置下边框样式
ExcelSheet.Range("B15").ClearContents '清除单元格内容
ExcelSheet.Range("B16").Formula="=1+10" '设置单元格公式
ExcelSheet.Range("B17").AddComment("测试" & vbLf & "批注") '插入批注
ExcelSheet.Range("B17").Comment.Visible=True '显示批注
'ExcelSheet.Range("B17").ClearComments '清除批注,与删除批注效果相同
'ExcelSheet.Range("B17").Comment.Delete '删除批注,与清除批注效果相同
'ExcelSheet.SaveAs("C:\Users\admin\Desktop\Book2.xls") '另存为
ExcelBook.Save
ExcelBook.Close
ExcelApp.Quit
Set ExcelBook = Nothing
Set ExcelApp = Nothing

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2021-02-16 19:23
dasdaa
Rank: 1
等 级:新手上路
威 望:2
帖 子:40
专家分:0
注 册:2019-12-24
得分:0 
学习了!!
2021-03-03 20:39
focster
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2021-4-22
得分:0 
学习了
2021-04-22 01:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501242-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066498 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved