Запустить из 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5