标题: [问题求助] vbs如何实现excel中的选择性粘贴 [打印本页]
作者: lgzhaha 时间: 2013-4-17 21:11 标题: vbs如何实现excel中的选择性粘贴
在网上搜索到excel的选择性粘贴的语句,但貌似不能用
AWB.ActiveSheet.Cells.PasteSpecial Paste:=xlValues
这句是选择性粘贴的语句吧......
那我这样用可以不?
--------------------------------------------------------------
Set oWord = CreateObject("Word.Application")
oWord.Visible = False
Set objDoc = oWord.Documents.Open("c:\aa.doc")
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = True
Set oWb = oExcel.Workbooks.Open("C:\aa.xls")
Set xlsheet = oExcel.Worksheets("sheet1")
oWord.ActiveDocument.Tables(3).Cell(3,3).Select
oWord.Selection.Copy
xlsheet.Cells(1,1).PasteSpecial Paste:=xlValues
( 运行后上面这句提示 “缺少语句”,请问哪里出错了)
oWord.Quit
Set oWord = Nothing
Set objDoc = Nothing
Set fso = Nothing
Set oread = Nothing
Set oExcel = Nothing
Set oWb = Nothing
Set xlsheet = Nothing
--------------------------------------------------------------------------------------
我的目的就是想把aa.doc中的表格里的信息提取到aa.xls中,
如果使用 xlsheet.Cells(1,1).PasteSpecial正常,可以复制粘贴,但把word中的一个单元格都复制进来了,所以就想用excel的选择性粘贴来粘贴上文本。
就指点。。。
作者: CrLf 时间: 2013-5-24 18:49
两个错误:
1、Paste:=xlValues 是 vba 的内部参数赋值方式
2、xlValues 是 excel 的常量,在 vbs 中尚未定义
改下应该就好了:- Const xlPasteAll=-4104
- Const xlPasteAllExceptBorders=7
- Const xlPasteColumnWidths=8
- Const xlPasteComments=-4144
- Const xlPasteFormats=-4122
- Const xlPasteFormulas=-4123
- Const xlPasteFormulasAndNumberFormats=11
- Const xlPasteValidation=6
- Const xlPasteValues=-4163
- Const xlPasteValuesAndNumberFormats=12
- '定义 excel 中的各种常量,不定义直接引用数值也可,不过可读性欠佳
-
- Set oWord = CreateObject("Word.Application")
- oWord.Visible = False
- Set objDoc = oWord.Documents.Open("c:\aa.doc")
- Set oExcel = CreateObject("Excel.Application")
- oExcel.Visible = True
- Set oWb = oExcel.Workbooks.Open("C:\aa.xls")
- Set xlsheet = oExcel.Worksheets("sheet1")
- oWord.ActiveDocument.Tables(3).Cell(3,3).Select
- oWord.Selection.Copy
- xlsheet.Cells(1,1).PasteSpecial xlPasteValues
- oWord.Quit
- Set oWord = Nothing
- Set objDoc = Nothing
- Set fso = Nothing
- Set oread = Nothing
- Set oExcel = Nothing
- Set oWb = Nothing
- Set xlsheet = Nothing
复制代码
作者: luoxiao 时间: 2013-7-15 10:54
Set oExcel= CreateObject("Excel.Application")
Set oWb = oExcel.Workbooks.Open("d:\test.xls")
Set oSheet = oWb.Sheets("Sheet1")
oExcel.rows(3).delete
-------------------------------
能告诉下我为什么把test.xls改成*.xls没用啊?
要怎么写才有用?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |