Запустить из 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д