6 / 6 / 1
Регистрация: 23.04.2015
Сообщений: 340
1

Создание макроса

11.02.2016, 23:18. Показов 1561. Ответов 7
Метки нет (Все метки)

Здравствуйте! Помогите пожалуйста. Создаю макрос , а при выполнении макроса выдает: запрашиваемый номер семейства не существует. Макрос под номером 5.


Создайте макрос для автоматического добавления в документ верхних и нижних колонтитулов и, номеров страниц и подложки с надписью «Отчет по лабораторной работе».
Вложения
Тип файла: docx Doc1.docx (16.8 Кб, 6 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2016, 23:18
Ответы с готовыми решениями:

Создание макроса
Доброго времени суток господа. Помогите решить проблему. Есть информация в текстовом виде такого...

Создание макроса
Добрый день! Нужно создать такой макрос: - есть 3 файла эксель из одной программы...

Создание макроса
Добрый вечер! Такое задание. Создать макрос, изменяющий шрифт выделенного текста на Arial 16,...

Создание макроса
Доброго времени суток! Помогите автоматизировать процесс! Есть две книги : книга1.xlsx и...

7
1 / 1 / 2
Регистрация: 11.02.2016
Сообщений: 10
12.02.2016, 00:31 2
Прислали пустой файл без макросов. В docx не может быть макросов по определению. А прислали бы docm, я бы его и открывать не стал - а вдруг там вирус. Вы уж лучше прямо текст макроса своего сюда в пост.
0
6 / 6 / 1
Регистрация: 23.04.2015
Сообщений: 340
12.02.2016, 11:01  [ТС] 3
когда нажимаешь Разработчик -Макросы. Там видны эти макросы. Или они по другому должны быть видны?

Вот созданный макрос:
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
Sub Макрос5()
'
' Макрос5 Макрос
'
'
    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
        ActivePane.View.Type = wdOutlineView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    ActiveDocument.AttachedTemplate.BuildingBlockEntries(" Пустой").Insert _
        Where:=Selection.Range, RichText:=True
    Selection.TypeText Text:="Работа в Word"
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    WordBasic.ViewFooterOnly
    ActiveDocument.AttachedTemplate.BuildingBlockEntries("Алфавит").Insert _
        Where:=Selection.Range, RichText:=True
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    ActiveDocument.Sections(1).Range.Select
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.HeaderFooter.Shapes.AddTextEffect(PowerPlusWaterMarkObject989295 _
        , "Отчет по лабораторной работе", "Calibri", 1, False, False, 0, 0). _
        Select
    Selection.ShapeRange.Name = "PowerPlusWaterMarkObject989295"
    Selection.ShapeRange.TextEffect.NormalizedHeight = False
    Selection.ShapeRange.Line.Visible = False
    Selection.ShapeRange.Fill.Visible = True
    Selection.ShapeRange.Fill.Solid
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(192, 192, 192)
    Selection.ShapeRange.Fill.Transparency = 0.5
    Selection.ShapeRange.Rotation = 315
    Selection.ShapeRange.LockAspectRatio = True
    Selection.ShapeRange.Height = CentimetersToPoints(2.49)
    Selection.ShapeRange.Width = CentimetersToPoints(20.77)
    Selection.ShapeRange.WrapFormat.AllowOverlap = True
    Selection.ShapeRange.WrapFormat.Side = wdWrapNone
    Selection.ShapeRange.WrapFormat.Type = 3
    Selection.ShapeRange.RelativeHorizontalPosition = _
        wdRelativeVerticalPositionMargin
    Selection.ShapeRange.RelativeVerticalPosition = _
        wdRelativeVerticalPositionMargin
    Selection.ShapeRange.Left = wdShapeCenter
    Selection.ShapeRange.Top = wdShapeCenter
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
0
Модератор
Эксперт MS Access
10304 / 4211 / 684
Регистрация: 07.08.2010
Сообщений: 11,902
Записей в блоге: 4
12.02.2016, 12:02 4
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
Sub w160212_1201()
''
''у меня нет этой константы, вставила значение произвольно
Const PowerPlusWaterMarkObject989295 As Long = 11
''
''где закоментила строки -- тоже нет вставок или незаконная команда(где замена имени)
''
 
    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
        ActivePane.View.Type = wdOutlineView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
''    ActiveDocument.AttachedTemplate.BuildingBlockEntries(" Пустой").Insert _
''        Where:=Selection.Range, RichText:=True
    Selection.TypeText Text:="Работа в Word"
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    WordBasic.ViewFooterOnly
''    ActiveDocument.AttachedTemplate.BuildingBlockEntries("Алфавит").Insert _
''        Where:=Selection.Range, RichText:=True
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    ActiveDocument.Sections(1).Range.Select
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.HeaderFooter.Shapes.AddTextEffect(PowerPlusWaterMarkObject989295, _
    "Отчет по лабораторной работе", "Calibri", 1, False, False, 0, 0).Select
    ''Selection.ShapeRange.Name = "PowerPlusWaterMarkObject989295"
    Selection.ShapeRange.TextEffect.NormalizedHeight = False
    Selection.ShapeRange.Line.Visible = False
    Selection.ShapeRange.Fill.Visible = True
    Selection.ShapeRange.Fill.Solid
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(192, 192, 192)
    Selection.ShapeRange.Fill.Transparency = 0.5
    ''
    Selection.ShapeRange.Rotation = 45
    Selection.ShapeRange.LockAspectRatio = True
    Selection.ShapeRange.Height = CentimetersToPoints(2.49)
    Selection.ShapeRange.Width = CentimetersToPoints(20.77)
    Selection.ShapeRange.WrapFormat.AllowOverlap = True
    Selection.ShapeRange.WrapFormat.Side = wdWrapNone
    Selection.ShapeRange.WrapFormat.Type = 3
    Selection.ShapeRange.RelativeHorizontalPosition = _
        wdRelativeVerticalPositionMargin
    Selection.ShapeRange.RelativeVerticalPosition = _
        wdRelativeVerticalPositionMargin
    Selection.ShapeRange.Left = wdShapeCenter
    Selection.ShapeRange.Top = wdShapeCenter
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
1
1 / 1 / 2
Регистрация: 11.02.2016
Сообщений: 10
12.02.2016, 19:47 5
Лучший ответ Сообщение было отмечено qwer77 как решение

Решение

По сути макроса уважаемая shanemac51 Вам уже ответила. Я поясню с файлом.
Макрос может храниться в файле с расширением docm (документ) или dotm (шаблон). Всегда по умолчанию подключен файл normal.dotm. Размещенные в нем макросы могут работать со всеми другими файлами на вашем компьютере. Чтобы узнать в каком файле лежит макрос, в редакторе посмотрите панель Project Explorer (если она не видна, включите её в меню View). На панели всегда есть проект Normal (соответствует normal.dotm) и по одному объекту Project(...) для каждого открытого файла. В этих проектах лежат папки, в том числе - Modules. Вот в этих модулях и хранятся макросы. Если Ваш макрос находится в модуле проекта Normal, то и хранится он будет в normal.dotm. Если в модуле проекта другого файла - то соответственно. Но учтите, что при сохранении файла в формате docx, макрос не сохранится.
0
6 / 6 / 1
Регистрация: 23.04.2015
Сообщений: 340
12.02.2016, 20:48  [ТС] 6
Спасибо всем, а вот по поводу нижнего колонтитула и номера страниц????? не выходит нижний колонтитул и номер страницы?
0
1 / 1 / 2
Регистрация: 11.02.2016
Сообщений: 10
13.02.2016, 00:29 7
Лучший ответ Сообщение было отмечено qwer77 как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub Botva1()
    If ActiveWindow.Panes.Count > 1 Then ActiveWindow.Panes(2).Close
    ActiveWindow.ActivePane.View.Type = wdPrintView
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
        "PAGE  \* Arabic ", PreserveFormatting:=True
    Selection.EndKey Unit:=wdLine
    Selection.TypeText Text:=Chr(13) + "Работа в Word"
' Тат должна быть вставка подложки
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    Selection.TypeText Text:="Нижний колонтитул"
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
С остальным, надеюсь, сами разберетесь.
Кстати, чтобы не повторять на каждой строке " Selection.ShapeRange" можно использовать:
Visual Basic
1
2
3
4
5
6
With Selection.ShapeRange
    .TextEffect.NormalizedHeight = False
    .Line.Visible = False
    ...
    .Top = wdShapeCenter
End With
0
6 / 6 / 1
Регистрация: 23.04.2015
Сообщений: 340
15.02.2016, 10:45  [ТС] 8
спасибо огромное!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2016, 10:45

Создание макроса new!
Нужно с помощью макроса отсортировать данные так, чтобы ФИО не повторялось, а код (столбец:код)...

Создание макроса
Помогите. Нужно чтобы при нажатии кнопки &quot;Узнать результат&quot; он переходил на страницу с результатами...

Создание макроса
Нужен макрос, который будет из определенной папки переименовывать файл excel удалением сначала 16...

Создание макроса автозаполнения
Всем привет! Подскажите, пожалуйста, как сделать проще, если данная задача не решаема. Я совсем...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.