Мне нужна помощь в Excel VBA. Я переключаюсь назад и вперед из Excel и другого приложения и копируя, вставляя в Excel из другого приложения. У меня уже есть этот процесс, но мне нужен совет о том, как я могу вставить любую ячейку в настоящий момент, вставить вкладку вправо, а в конце этой строки перейти вниз по одной строке, а затем вернуться в колонку D
. На самом деле, вот список точного процесса я нуждающейся произойти внутри приложения Excel:VBA в Excel - вставка в активную ячейку, а затем вкладку
- [Номер Format] Вставить в настоящее время активной ячейки (всегда будет находиться в
D:D
колонке) - Tab правый один клетка
- [Формат даты: "d-ммм"] Сегодняшняя дата
- Tab правой
- [Текст] Вставить
- Tab правой
- [Учет] P асте
- Tab Right
- Введите букву «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