powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка при копирование значения из выделенной области Excel в Word макросом
5 сообщений из 5, страница 1 из 1
Ошибка при копирование значения из выделенной области Excel в Word макросом
    #38316719
kashybin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток. В VBA не особо разбираюсь. Если задаю какой-то глупый вопрос, то извиняюсь.
Пытался написать макрос, который бы копировал значения из выделенной области Excel в Word. После вставки в документе Word необходимо, чтоб интервал в Word до и после устанавливался 0 пт, и вставленные данные выравнивались по ширине окна, с выравниванием в ячейке по средине.

Вот, что у меня вышло:

Код: sql
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.
Sub copy()
     
    
     Dim wdApp As New Word.Application 
     Dim wdDoc As Word.Document 

     wdApp.Visible = True 
     Set wdDoc = wdApp.Documents.Add 
     wdDoc.PageSetup.Orientation = wdOrientPortrait 
     
     With wdDoc.Paragraphs.Format
               .RightIndent = CentimetersToPoints(0)
               .SpaceBefore = 0
               .SpaceBeforeAuto = False
               .SpaceAfter = 0
               .SpaceAfterAuto = False
               .LineSpacingRule = wdLineSpaceSingle
               .Alignment = wdAlignParagraphLeft
               .WidowControl = True
               .KeepWithNext = False
               .KeepTogether = False
               .PageBreakBefore = False
               .NoLineNumber = False
               .Hyphenation = True
               .FirstLineIndent = CentimetersToPoints(0)
               .OutlineLevel = wdOutlineLevelBodyText
               .CharacterUnitLeftIndent = 0
               .CharacterUnitRightIndent = 0
               .CharacterUnitFirstLineIndent = 0
               .LineUnitBefore = 0
               .LineUnitAfter = 0
               .MirrorIndents = False
               .TextboxTightWrap = wdTightNone
     End With
     
     Application.Selection.copy 
     Call wdDoc.Range.Paste 
         
   
     With wdDoc.Tables(1)
        .AutoFitBehavior (wdAutoFitWindow)
        .AutoFitBehavior (wdAutoFitWindow)
        .Rows.HeightRule = wdRowHeightAtLeast
        .Rows.Height = CentimetersToPoints(0.4)
        .Cells.VerticalAlignment = wdCellAlignVerticalCenter
     End With
     Application.CutCopyMode = False 
     wdApp.Activate 
End Sub




Не понятно, почему не устанавливаться параметры абзаца и почему не хочет работать wdDoc.Tables(1).Cells.VerticalAlignment = wdCellAlignVerticalCenter.
При wdDoc.Tables(1).Cells.VerticalAlignment = wdCellAlignVerticalCenter выдает ошибку, что используется команда, которой не существует в VBA-Word, что странно ведь обе процедуры оформленные через With записывал макрорекодером в Word.

Буду признателен за помощь.

P.S. На форуме planetaexcel.ru находил надстройку ZVI, которая делает практически то, что нужно, но к сожалению вариант с надстройкой не подходит, так как не один я буду пользоваться конечным файлом. Там же и задавал подобный вопрос, но поскольку он связан больше с Word, то попросил модератора тему удалить.
...
Рейтинг: 0 / 0
Ошибка при копирование значения из выделенной области Excel в Word макросом
    #38316746
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter
...
Рейтинг: 0 / 0
Ошибка при копирование значения из выделенной области Excel в Word макросом
    #38316759
kashybin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro , Спасибо, а не подскажите, почему не устанавливаются параметры абзаца???
...
Рейтинг: 0 / 0
Ошибка при копирование значения из выделенной области Excel в Word макросом
    #38316812
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kashybinпочему не устанавливаются параметры абзаца???почему не устанавливаются? Устанавливаются. Закомментируйте строку
Код: vbnet
1.
Call wdDoc.Range.Paste 

и увидите
...
Рейтинг: 0 / 0
Ошибка при копирование значения из выделенной области Excel в Word макросом
    #38316839
kashybin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro...Закомментируйте строку
Код: vbnet
1.
Call wdDoc.Range.Paste 

и увидите
Спасибо огромное за помощ, все увидел :)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка при копирование значения из выделенной области Excel в Word макросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]