我需要一些有关 Excel VBA 的帮助。我正在从 Excel 和另一个应用程序来回切换,然后从另一个应用程序复制、粘贴到 Excel 中。我已经完成了该过程,但是我需要有关如何粘贴到当前处于活动状态的任何单元格中的建议,右选项卡,然后在该行的末尾向下一行,然后从 column 重新开始D
。实际上,这是我需要在 Excel 应用程序中执行的确切过程的列表:
- [数字格式] 粘贴到当前活动单元格中(将始终在
D:D
列中) - Tab 右移一个单元格
- [日期格式:“d-mmm”] 今天的日期
- 右标签
- [文字] 粘贴
- 右标签
- [会计] 粘贴
- 右标签
- 在该列中键入字母“X”
- 向下输入一行,从该
D
列开始。
在所有这些步骤之间,我找出了与其他应用程序交互的大部分代码。但我对此也有一个问题——在该应用程序中,我正在运行以下语句:
With ATC.ActiveSession
(ATC 只是引用应用程序的类型库来与其他应用程序交互)
与我With
每次应用程序来回切换复制和粘贴时都结束语句相反,我需要做什么作为with
使用 excel 库的语句?
我不想发生的事情的例子:
Sub New_ATS()
Set ATC = GetObject(, "ATWin32.AccuTerm")
AppActivate "AccuTerm 2K2"
With ATC.ActiveSession
.InputMode = 1
.SetSelection 6, 15, 12, 15
.Copy
.InputMode = 0
End With
AppActivate "Microsoft Excel"
Selection.Paste '(not complete, part of question)
Selection.Offset 1, 0 'again, part of the question
AppActivate "AccuTerm 2K2"
With ATC.ActiveSession
.InputMode = 1
.SetSelection 14, 3, 20, 3
.Copy
.InputMode = 0
End With
AppActivate "Microsoft Excel"
' .... end of partial code (continues on)
End Sub
但相反,我想“链接”这些With
语句,但我不知道我会用什么语句来指向 Excel 的 VBA。这就是我想要的:
Sub New_ATS()
Set ATC = GetObject(, "ATWin32.AccuTerm")
AppActivate "AccuTerm 2K2"
With ATC.ActiveSession
.InputMode = 1
.SetSelection 6, 15, 12, 15
.Copy
.InputMode = 0
With Excels_Statement '?????
AppActivate "Microsoft Excel"
Selection.Paste '(not complete, part of question)
Selection.Offset 1, 0 'again, part of the question
AppActivate "AccuTerm 2K2"
With ATC.ActiveSession
.InputMode = 1
.SetSelection 14, 3, 20, 3
.Copy
.InputMode = 0
With Excels_Statement '????
AppActivate "Microsoft Excel"
End With
End With
End With
End With
' .... end of partial code (continues on)
End Sub