Здравствуйте.
По стечению обстоятельств мне пришлось столкнуться с ВБА (подключаю ексель, как COMОбъект и пишу несколько макросов на VBA), и это застало меня врасплох, поэтому обращаюсь к вам за помощью, надеюсь вы поможете разобраться мне с данной проблемой.
в цикле у меня создается несколько книг, в них меняется только текстовая информация, во все книги вставляются одни и теже макросы. Но в той книге что создается первой они работают*, а в остальных "нет". Ругается на "System error &H80070057 (-2147024809). Параметр задан неверно."
Подключаю эксель
строковые переменные = макросы
цикл для книг
Excel.Application.WorkBooks.Add(1);Excel.VBE.ActiveVBProject.VBComponents.Add (1);
Excel.VBE.ActiveVBProject.VBComponents.Item(1).CodeModule.InsertLines (1, Макрос1);
Excel.VBE.ActiveVBProject.VBComponents.Item(1).CodeModule.InsertLines (1, Макрос2);
Excel.VBE.ActiveVBProject.VBComponents.Item(1).CodeModule.InsertLines (1, Макрос3);
Excel.VBE.ActiveVBProject.VBComponents.Item(1).CodeModule.InsertLines (1, Макрос1);
цикл для листов
Excel.ActiveWorkBook.Sheets.Add(,,1);
Excel.ActiveWorkBook.ActiveSheet.Name=имялиста;
Excel.ActiveSheet.Rows("1:100").Borders(5).LineStyle=-4142;
Excel.Rows("1:2").Interior.ColorIndex=6;
Excel.Rows("1:2").Font.ColorIndex=1;
Excel.Rows("1:2").Font.Name="Courier New";
Excel.Rows("1:2").Font.Size=12;
Excel.Rows("1:2").Font.Bold=Истина;
Excel.ActiveSheet.Cells(1,1).Value=вопрос;
создаю радиокнопочки
Excel.ActiveSheet.OptionButtons.Add(75,(НомерОтвета+1)*26+28,400,20);
Excel.ActiveSheet.OptionButtons.Item(НомерОтвета+1).Text="";
Excel.ActiveSheet.cells(НомерОтвета*2+5,3).Value=ответ
создаю обычные кнопочки
Excel.ActiveWorkBook.ActiveSheet.Buttons.Add(250,200,100,20);
Excel.ActiveWorkBook.ActiveSheet.Buttons.Item(1).Text=название;
конец цикла
конеццикла
*один из макросов у меня назначает другие макросы уже в ВБА созданным кнопочкам. вот он и не работает в созданных в цикле при итерации "2+" книгах.
спасибо...