Запустить из VBA несколько незавимых окон Excel

Узнай цену своей работы

Формулировка задачи:

Как известно, можно открыть два (и более) независимых окна Excel (так что каждая открытая книга будет в своём окне, а не в одном окне). При этом вычисления в каждом окне могут идти параллельно. Возможно ли из одного открытого файла VBA Excel запустить несколько таких окон и управлять ими из одного, управляющего окна Excel, который также будет обеспечивать обмен данными? Идея в том, чтобы реализовать таким образом параллельные вычисления (поиск оптимального сочетания набора параметров для инженерной задачи). Обмениваться данными можно, например, через объекты пользовательского класса, созданные в каждом независимом окне, адреса в памяти которых можно передать в управляющий файл Excel и через это считывать и устанавливать в них значения.

Решение задачи: «Запустить из VBA несколько незавимых окон Excel»

textual
Листинг программы
  1. Sub tt()
  2. Dim f1 As Object, f2 As Object
  3. Set f1 = CreateExcel()
  4. Set f2 = CreateExcel()
  5.  
  6. f2.Sheets(1).[a1] = "test"
  7. f1.Sheets(1).[a2] = f2.Sheets(1).[a1]
  8.  
  9. End Sub
  10.  
  11. Function CreateExcel() 'As Excel.Application
  12.    Dim ExcelApp
  13.     Set ExcelApp = CreateObject("Excel.Application") 'Create a new excel Object
  14.    ExcelApp.Workbooks.Add
  15.     ExcelApp.Visible = True
  16.     Set CreateExcel = ExcelApp
  17. End Function

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут