Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
3 / 3 / 0
Регистрация: 28.12.2009
Сообщений: 41

Создание границы в Excel при вызове макроса из Word'а

28.12.2009, 17:56. Показов 3500. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Проблема следующая:
В Word'е выполняется макрос, который в определённый момент вызывает Excel. Создаёт средствами Excel таблицу и прорисовывает границы.
Заковырка заключается в том, что при попытке нарисовать границы, возникает ошибка 1004: "Application-defined or object-defined error"

Подскажите, как можно решить проблему.
Ниже код.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Private Sub CommandButton2_Click()
 
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
With xlApp
    .Workbooks.Add
    .activesheet.Name = "Data"
    .Range("A2:A3").Merge
    .Range("A2:A3").Value = "№ п/п"
    .Range("B2:B3").Merge
    .Range("B2:B3").Value = "Юр. лицо"
    .Range("C2:K2").Merge
    .Range("C2:K2").Value = "Руководитель"
End With
 
xlApp.Range("A2:K3").Borders(xlDiagonalDown).LineStyle = xlNone
xlApp.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With xlApp.Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
End With
With xlApp.Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
End With
With xlApp.Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
End With
With xlApp.Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
End With
With xlApp.Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
End With
With xlApp.Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
End With
xlApp.Selection.Font.Bold = True
With xlApp.Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
End With
 
End Sub
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.12.2009, 17:56
Ответы с готовыми решениями:

Обработка ошибки при вызове несуществующего макроса
Добрый день. Извеняюсь если что не так Имя запускаемого макроса формируется динамически в цикле, и нет проблем до момента, пока в...

Передача параметров из макроса в форму при её вызове
здравствуйте, как это делается? спасибо

При вызове функции необработанное исключение, выход за границы массива
bool checkprocessed(point data,int xx,int yy,int wind) { bool mark=false; int s=0; for(int k=xx; k<xx+wind;k++){ for(int...

3
Asgard's resident
91 / 88 / 10
Регистрация: 03.12.2009
Сообщений: 175
28.12.2009, 18:59
Попробуйте в VBA подключить соответствующую библиотеку для работы с объектами excel
tools-references- Microsoft Excel 12.0(для 2007 офиса 12.0) Object Library
1
3 / 3 / 0
Регистрация: 28.12.2009
Сообщений: 41
28.12.2009, 22:58  [ТС]
Попробую.

Добавлено через 1 час 30 минут
Спасибо!
Заработало!
А можно ли это сделать автоматически? Я имею ввиду, программно. Чтобы не руками подключать библиотеку, а с помощью макроса.
Дело в том, что это приложение будет распространяться среди определённого круга сотрудников и, не хотелось бы на каждой машине настраивать эту опцию.
0
Asgard's resident
91 / 88 / 10
Регистрация: 03.12.2009
Сообщений: 175
29.12.2009, 12:30
Я не знаю( это вопрос к знатокам, которых тут предостаточно))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.12.2009, 12:30
Помогаю со студенческими работами здесь

Создание макроса в Word Excel
Объясните порядок действий при записи макроса, пожалуйста. Средствами Excel записать макрос с именем Функция2, который создает функцию...

Создание документа Excel. Как сделать границы ячеек?
Помогите пожалуйста. Пишу скрипт VBS. Set Excel = CreateObject("Excel.Application")

Delphi - Работа с макросами в Excel (Создание и привязка макроса к картинке)
Нужна помощь. Есть База данных, из неё переношу данные в Excel. Напротив каждой строки вставляю картинку. Нужно, чтобы при нажатии...

Создание макроса для Word со ссылками на элементы библиотеки переводов в Excel
Всем привет!. начал много и плотно работать с техническими документами на двух языках. Вспомнил , что когда то давно в университете...

Автозапуск макроса при экспорте в Excel
Подскажите, плз, каким образом можно при экспорте данных из Access в Excel можно передать макрос и автоматом выполнить его (для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru