Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка при копирование значения из выделенной области Excel в Word макросом / 5 сообщений из 5, страница 1 из 1
02.07.2013, 10:34
    #38316719
kashybin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при копирование значения из выделенной области Excel в Word макросом
Доброе время суток. В 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
02.07.2013, 10:45
    #38316746
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при копирование значения из выделенной области Excel в Word макросом
Код: vbnet
1.
.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter
...
Рейтинг: 0 / 0
02.07.2013, 10:53
    #38316759
kashybin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при копирование значения из выделенной области Excel в Word макросом
Shocker.Pro , Спасибо, а не подскажите, почему не устанавливаются параметры абзаца???
...
Рейтинг: 0 / 0
02.07.2013, 11:23
    #38316812
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при копирование значения из выделенной области Excel в Word макросом
kashybinпочему не устанавливаются параметры абзаца???почему не устанавливаются? Устанавливаются. Закомментируйте строку
Код: vbnet
1.
Call wdDoc.Range.Paste 

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

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


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