Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 11 ]
- Зарегистрирован: 04.02.2015
- Сообщений: 37
- Поблагодарили: 3
Тема: Задать значение "Пустой строки"
Добрый день, подскажите пожалуйста по интересующему вопросу: в документе (шаблон Word) имеются поля с пользовательскими свойствами (такие как Раздел №, Часть №, Книга №) возможно такое, что не все эти свойства будут заполнены . Нужно из этих свойств собрать их номера в отдельную строку (при помощи VBA). Как написать условие, если одно из свойств не заполнено (пустое), чему оно равно? Вот пример как я пишу:
If wdProp("Раздел №") = "" Then strVol = strSubsection & strPart & strBook
думал что кавычки ("") будут обозначать пустоту, но это не работает. Как задать значение пустой строки?
- Зарегистрирован: 04.02.2015
- Сообщений: 37
- Поблагодарили: 3
Re: Задать значение "Пустой строки"
Все разобрался, нужно было добавить пробел в кавычки
- Зарегистрирован: 04.02.2015
- Сообщений: 37
- Поблагодарили: 3
Re: Задать значение "Пустой строки"
Теперь обратный вопрос, как задать значение заполненной (неизвестно чем-либо) строки?
- Зарегистрирован: 19.05.2014
- Сообщений: 69
- Поблагодарили: 21
- За сообщение: 1
Re: Задать значение "Пустой строки"
Возможно, вам поможет оператор "не равно", который обозначается как "<>"
смысл операции: "переменная не равна нулю"
- Boris_R
- полковник
- Неактивен
- Зарегистрирован: 07.08.2012
- Сообщений: 234
- Поблагодарили: 110
- За сообщение: 1
Re: Задать значение "Пустой строки"
На мой взгляд лучше производить проверку на длину строки, у которой обрезаны все пробелы:
Len(Trim(wdProp("Раздел №"))) > 0 -->ИСТИНА, если в строке есть хоть один символ, отличный от пробела.
Len(Trim(wdProp("Раздел №"))) = 0 -->ИСТИНА, если строка содержит только пробелы.
Через пользовательский интерфейс невозможно задать пустое значение для свойства, поэтому юзер вставляет пробел. Но рука, например, после праздников или задушевной встречи с друзьями может дрогнуть, и тогда при вводе пробелов может быть и не одна штука... 
- Зарегистрирован: 04.02.2015
- Сообщений: 37
- Поблагодарили: 3
Re: Задать значение "Пустой строки"
Спасибо за советы, еще такой вопрос будет: имеется комбинированный список с Именем.Отчеством Фамилией (например - В.П. Васильев), как из этого списка выцепить только Фамилию? Заранее спасибо.

- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
Re: Задать значение "Пустой строки"
akoks пишет:Теперь обратный вопрос, как задать значение заполненной (неизвестно чем-либо) строки?
Можно использовать свойство Value:
Public Sub Properties1()
Dim D As Word.Document
Set D = ActiveDocument
D.BuiltInDocumentProperties(wdPropertyTitle).Value = "Примеры макросов 1"
End Sub
Встроенные константы для обращения к свойствам документа можно найти здесь:
внешняя ссылка
Также см.: внешняя ссылка
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.
- Зарегистрирован: 04.02.2015
- Сообщений: 37
- Поблагодарили: 3
Re: Задать значение "Пустой строки"
С этим разобрался, спасибо. Теперь вопрос с ComboBox'ом: в нем даны значения или пустая строка для ввода (И.О. Фамилия). Эти значения вставляются в одно поле как есть, а в другое поле должны вставляться только Фамилии из этого списка (либо которые были введены в пустую строку в том же формате (И.О. Фамилия)). Вопрос в том как это сделать? Что-то типа: Текст минус пять первых символов. Как это задать?

- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
- За сообщение: 1
Re: Задать значение "Пустой строки"
akoks пишет:С этим разобрался, спасибо. Теперь вопрос с ComboBox'ом: в нем даны значения или пустая строка для ввода (И.О. Фамилия). Эти значения вставляются в одно поле как есть, а в другое поле должны вставляться только Фамилии из этого списка (либо которые были введены в пустую строку в том же формате (И.О. Фамилия)). Вопрос в том как это сделать? Что-то типа: Текст минус пять первых символов. Как это задать?
Попробуйте как-то так:
Public Sub String1()
Dim String1, String2 As String
Dim x As Integer
String1 = Trim("И.И. Иванов")
x = Len(String1)
String2 = Right(String1, x - 5)
MsgBox (String2)
End Sub
или
Public Sub String1()
Dim String1, String2 As String
Dim x As Integer
String1 = Trim("Иванов И.И.")
x = Len(String1)
String2 = Left(String1, x - 5)
MsgBox (String2)
End Sub
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.
- Зарегистрирован: 04.02.2015
- Сообщений: 37
- Поблагодарили: 3
- За сообщение: 1
Re: Задать значение "Пустой строки"
Попробуйте как-то так:
Public Sub String1()
Dim String1, String2 As String
Dim x As Integer
String1 = Trim("И.И. Иванов")
x = Len(String1)
String2 = Right(String1, x - 5)
MsgBox (String2)
End Sub
или
Public Sub String1()
Dim String1, String2 As String
Dim x As Integer
String1 = Trim("Иванов И.И.")
x = Len(String1)
String2 = Left(String1, x - 5)
MsgBox (String2)
End Sub
Начал разбираться с функциями Trim и Len наткнулся на функцию Mid которая для моей задачи подходила как нельзя лучше в результате получилось следующее:
Sub Familiya()
Dim strFamiliya As String
strFamiliya = Mid (UserForm1.cmbGIPs.Text, 6)
wdProp("Фамилия") = strFamiliya
End Sub

- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
Re: Задать значение "Пустой строки"
akoks пишет:Начал разбираться с функциями Trim и Len наткнулся на функцию Mid которая для моей задачи подходила как нельзя лучше в результате получилось следующее:
Sub Familiya()
Dim strFamiliya As String
strFamiliya = Mid (UserForm1.cmbGIPs.Text, 6)
wdProp("Фамилия") = strFamiliya
End Sub
Функцию Mid можно использовать тоже. 
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.
Сообщений [ 11 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Задать значение "Пустой строки"
Если вы не просто время от времени набираете тексты в редакторе Microsoft Word, а постоянно работаете с большим объемом информации, то базовых знаний о приложении вам будет не достаточно, для эффективной работы. На портале о Microsoft Office Word вы узнаете про: как ставить ссылки в тексте ворд.
Более углубленно изучить Ворд можно на сайте Ворд Эксперт и на форуме сайта. На форме собраны ответы на основные вопросы, наработки по написанию макросов и шаблонов, настроек всех версий Ворда, форматированию текстов, таблиц, картинок, созданию оглавлений и различных стилей, а также многое другое. На портале о Microsoft Office Word вы узнаете про: нарушена нумерация страниц в ворде.
Вы можете оставить просьбу на разработку какого-то решения, поискать готовый ответ или, обсудив проблему на форуме, самостоятельно разобраться в предложенных вариантах решения. На портале о Microsoft Office Word вы узнаете про: практичесская работа макросы цщкв 2007.