1

Тема: Автоматизация заполнения однообразных файлов.

Здравствуйте, уважаемые коллеги.
Для создания протоколов по испытаниям требуется создать несколько файлов, у которых практически одинаковая шапка.
1.Как сделать так, чтобы номер протокола вручную написать один раз на первом листе первого файла, а на других листах других файлов данный номер заполнялся автоматически. (в пределах одного файла решил проблему, перенес шапку в колонтитул). Шапка повторяется на каждом листе.
2. Также при работе создаются длинные таблицы (на 10-20 страниц). Все ее строки должны быть пронумерованы, за исключением некоторых строк (промежуточные подзаголовки и т.д.). Нумерация каждой новой страницы должна начинаться с 1. Как это сделать?
3. Возможно ли в ворде вывести случайное целое число из диапазона? Также требуется данное действие при заполнении таблицы.
4. Возможно ли заполнение ячейки таблицы в зависимости от значения другой ячейки этой же строки конкретным текстом? К примеру в некоторых случаях требуется заполнить все ячейки одной строки, а в некоторых только часть.
5. Возможно ли количество страниц конкретного файла записывать в конкретном месте другого файла?
Количество строк в таблицы постоянно изменяется, добавляются строки в начале, середине и конце таблицы. Поэтому все вышеуказанные функции должны быть "умными".
При работе использую Word 2010

2

Re: Автоматизация заполнения однообразных файлов.

По поводу генерации случайных чисел.
Попробуйте так:

Sub Random1()
    Dim Rnd1 As Integer
    Rnd1 = Int(Rnd * 10)
    MsgBox (Rnd1)
End Sub

Данный макрос генерирует целое случайное число в диапазоне от 0 до 9.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

3

Re: Автоматизация заполнения однообразных файлов.

Alex_Gur пишет:

По поводу генерации случайных чисел.
Попробуйте так:

Sub Random1()
    Dim Rnd1 As Integer
    Rnd1 = Int(Rnd * 10)
    MsgBox (Rnd1)
End Sub

Данный макрос генерирует целое случайное число в диапазоне от 0 до 9.

Нужно целое число от 7 до 11

4

Re: Автоматизация заполнения однообразных файлов.

RomanStudent пишет:

Нужно целое число от 7 до 11


Sub Random1()
    Dim Rnd1 As Integer
    ' Rnd - случайное число от 0 до 0,9999...
    Rnd1 = Int(7 + Rnd * 5) ' целое случайное число от 7 до 11 (включительно)
    MsgBox (Rnd1)
End Sub
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

5

Re: Автоматизация заполнения однообразных файлов.

Alex_Gur пишет:
RomanStudent пишет:

Нужно целое число от 7 до 11


Sub Random1()
    Dim Rnd1 As Integer
    ' Rnd - случайное число от 0 до 0,9999...
    Rnd1 = Int(7 + Rnd * 5) ' целое случайное число от 7 до 11 (включительно)
    MsgBox (Rnd1)
End Sub

А на счет остальных вопросов можете чем то помочь?

6

Re: Автоматизация заполнения однообразных файлов.

Добрый день, Роман!

Как мне представляется, Ваш вопрос слишком объемен и сложен для бесплатной консультации на этом сайте.
Он более соответствует требованиям нашего раздела Заявки на разработку.
Если Вы желаете, я могу перенести Ваш вопрос в этот раздел.

Может быть кто-то из наших экспертов захочет взяться за выполнение этого задания?

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

7

Re: Автоматизация заполнения однообразных файлов.

Здравствуйте. Спрашивал Вас на счет создания макроса случайного числа и вы писали этот макрос:

Sub Random1()
    Dim Rnd1 As Integer
    ' Rnd - случайное число от 0 до 0,9999...
    Rnd1 = Int(7 + Rnd * 5) ' целое случайное число от 7 до 11 (включительно)
    MsgBox (Rnd1)
End Sub

Он работает, только случайное число появляется в отдельном окне. Возможно ли это число записывать в нужное место автоматически?

Да, этот макрос генерирует случайное число и выводит его в отдельное окно.
В какое именно место в файле Вы хотели бы его выводить?

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

8

Re: Автоматизация заполнения однообразных файлов.

Вот макрос, который выводит случайное число в место, где установлена закладка:

Sub Procedure_1()
    Dim Rnd1 As Integer
    ' Rnd - случайное число от 0 до 0,9999...
    Rnd1 = Int(7 + Rnd * 5) ' целое случайное число от 7 до 11
    ActiveDocument.Bookmarks("закладка1").Range.Text = Rnd1
End Sub

Примечание: В файле должна иметься закладка с именем «закладка1».

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

9

Re: Автоматизация заполнения однообразных файлов.

Alex_Gur пишет:

Вот макрос, который выводит случайное число в место, где установлена закладка:

Sub Procedure_1()
    Dim Rnd1 As Integer
    ' Rnd - случайное число от 0 до 0,9999...
    Rnd1 = Int(7 + Rnd * 5) ' целое случайное число от 7 до 11
    ActiveDocument.Bookmarks("закладка1").Range.Text = Rnd1
End Sub

Примечание: В файле должна иметься закладка с именем «закладка1».

Возможно ли вводить данное случайное число в место расположение курсора?

10

Re: Автоматизация заполнения однообразных файлов.

Возможно ли вводить данное случайное число в место расположение курсора?

Да, это возможно:

Sub Procedure_1()
    Dim Rnd1 As Integer
    ' Rnd - случайное число от 0 до 0,9999...
    Rnd1 = Int(7 + Rnd * 5) ' целое случайное число от 7 до 11
    Selection.Range.Text = Rnd1
End Sub
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

11

Re: Автоматизация заполнения однообразных файлов.

Alex_Gur пишет:

Возможно ли вводить данное случайное число в место расположение курсора?

Да, это возможно:

Sub Procedure_1()
    Dim Rnd1 As Integer
    ' Rnd - случайное число от 0 до 0,9999...
    Rnd1 = Int(7 + Rnd * 5) ' целое случайное число от 7 до 11
    Selection.Range.Text = Rnd1
End Sub

Большое спасибо за ценную информацию! Буду пробовать решать поставленные задачи