首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

在不同Excel文件表内容,为什么不能进行粘贴解决方案

2012-01-21 
在不同Excel文件表内容,为什么不能进行粘贴在不同Excel文件表内容,为什么不能进行粘贴?我在VB中打开两个Ex

在不同Excel文件表内容,为什么不能进行粘贴
在不同Excel文件表内容,为什么不能进行粘贴?

我在VB中打开两个Excel文件,

''''''要复制的Excel文件1的一个表
With xlSheet 
   
.Range(.Cells(2, 1), .Cells(7, 1).Copy
End With

'''''要粘贴的Excel文件2的一个表

With xlDestSheet
   
  .Range(.Cells(2, 2), .Cells(7, 2)).Paste
   
 End With
   
 为什么执行到 .Range(.Cells(2, 2), .Cells(7, 2)).Paste 的时候,提示对象不支持该方法或属性!!


[解决办法]

探讨
xlDestSheet.Cells(2, 2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

楼上的,在VBA中行,在VB程序中上面代码出错,提示对象不支持该方法或属性!
把我弄郁闷死了。

[解决办法]
刚才想到楼主说的是“在不同的 Excel表”,把代码修改了一下,运行结果依然是正确的(IDE中 、 编译后运行) !

这个代码分别在同一张表和另一个工作薄的表中进行了一次“选择性粘贴”的操作。
新建工程同上。用下面的代码:
VB code
Option ExplicitPrivate Sub Command1_Click()    Dim objApp As Object    Dim objWBook As Object    Dim objSheet As Object    Dim objWBook2 As Object    Dim objSheet2 As Object    Set objApp = CreateObject("Excel.Application")    Set objWBook = objApp.Workbooks.Add    Set objSheet = objWBook.Sheets("Sheet1")    objSheet.Range("A1").Formula = "dkdkfei"    objSheet.Range("A2").Formula = "KSLEI"    objSheet.Range("A3").Formula = "akkfk3838"    objSheet.Range("A4").Formula = "eirijnf"    objSheet.Range("B1").Formula = "dkahFjk"    objSheet.Range("B2").Formula = "430d0eka"    objSheet.Range("B3").Formula = "*3FSE03sJFTFasa"    objSheet.Range("B4").Formula = "sksjjs;ei;as"    objSheet.Range("C1").Formula = "pqpdiwkd"    objSheet.Range("D2").Formula = "sffeEF sdjei"    objSheet.Range("C3").Formula = "SFEE"    objSheet.Range("D4").Formula = "13e55sf1"    objSheet.Range("E5").Formula = "KDfeEFsdkd"    objSheet.Range("A1:E5").Font.ColorIndex = 3    objSheet.Range("B:B").Font.ColorIndex = 9    objSheet.Range("A1:E5").Copy    '这里在同一张表中粘贴    objSheet.Cells(6, 2).PasteSpecial Paste:=-4163, Operation:=-4142, SkipBlanks:=False, Transpose:=False    objWBook.saved = True    objApp.Visible = True    Set objWBook2 = objApp.Workbooks.Add    Set objSheet2 = objWBook2.Sheets("Sheet1")    '这里在另一工作薄的另一张表中粘贴    objSheet2.Cells(3, 1).PasteSpecial Paste:=-4163, Operation:=-4142, SkipBlanks:=False, Transpose:=False    objWBook2.saved = True    MsgBox "执行完成!", 64    Set objSheet = Nothing    Set objWBook = Nothing    Call objApp.quit    Set objApp = Nothing    Unload Me    End Sub
[解决办法]
两个 Excel.Application 实例就有两个 Excel 进程,相互之间的对象是不可见的。
的确应该在一个 Application 下操作。

热点排行