Запустить из VBA несколько незавимых окон Excel
Формулировка задачи:
Как известно, можно открыть два (и более) независимых окна Excel (так что каждая открытая книга будет в своём окне, а не в одном окне).
При этом вычисления в каждом окне могут идти параллельно.
Возможно ли из одного открытого файла VBA Excel запустить несколько таких окон и управлять ими из одного, управляющего окна Excel, который также будет обеспечивать обмен данными?
Идея в том, чтобы реализовать таким образом параллельные вычисления (поиск оптимального сочетания набора параметров для инженерной задачи). Обмениваться данными можно, например, через объекты пользовательского класса, созданные в каждом независимом окне, адреса в памяти которых можно передать в управляющий файл Excel и через это считывать и устанавливать в них значения.
Решение задачи: «Запустить из VBA несколько незавимых окон Excel»
textual
Листинг программы
Sub tt() Dim f1 As Object, f2 As Object Set f1 = CreateExcel() Set f2 = CreateExcel() f2.Sheets(1).[a1] = "test" f1.Sheets(1).[a2] = f2.Sheets(1).[a1] End Sub Function CreateExcel() 'As Excel.Application Dim ExcelApp Set ExcelApp = CreateObject("Excel.Application") 'Create a new excel Object ExcelApp.Workbooks.Add ExcelApp.Visible = True Set CreateExcel = ExcelApp End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д