|
|
|
Supreme Being
      
участник
Last Login: 17.04.2006 21:22
Сообщ.: 113,
Visits: 1 255
|
|
Здравствуйте
Намекните пожалуйста какие объекты и свойства нужно использовать для удаления ненужной строки(т.е. пустая строка или строка содержащая текст "удали меня") в документе Word. Удалять надо в цикле(кол-во параграфов, абзацев может быть разное).
Подразумеваю, что надо использовать Paragraph, но только непойму как. В документе есть таблицы.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 27.03.2008 15:26
Сообщ.: 701,
Visits: 7 028
|
|
Sub ReadSentences()
Dim l As Long
For l = 1 To ThisDocument.Sentences.Count
MsgBox ThisDocument.Sentences(l)
Next l
End Sub
Данный пример перебирает предложения в тексте. Думаю, что тебе нужны все-же предложения, а не строки.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 17.04.2006 21:22
Сообщ.: 113,
Visits: 1 255
|
|
Спасибо за ответ.
Подскажите пожалуйста как удалить пустую строку следующую за таблицей.
Замена "^p" на ""-не помогает.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 22.03.2007 10:28
Сообщ.: 75,
Visits: 751
|
|
Может быть, такой вариант подойдет?
Sub Del_parag()
'
'удаляет пустой абзац после таблицы, если он есть
'
For i = 1 To ActiveDocument.Tables.Count
ActiveDocument.Tables(i).Select
Selection.Start = Selection.End
Selection.Expand wdParagraph
If Selection.Characters.Count = 1 Then
MsgBox "Пусто"
Selection.Delete
End If
Next i
End Sub
Если пустых абзацев несколько, надо немного доработать.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 17.04.2006 21:22
Сообщ.: 113,
Visits: 1 255
|
|
to: flower2005
Ваш макрос заработал, но появилась другая проблема. В файле между таблицами есть какието символы. Как их удалить ? Файл прилагается.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 22.03.2007 10:28
Сообщ.: 75,
Visits: 751
|
|
Пример текста содержит примечания от нескольких рецензентов
После удаления примечаний удаляется пустая строка. Если все таблицы должны объединиться в одну, то требуется доработка. (хотя можно и два раза запустить процедуру :))
Sub udal2()
On Error Resume Next
'l = ActiveDocument.Comments.Count
'MsgBox l
WordBasic.DeleteAllCommentsInDoc
For i = 1 To ActiveDocument.Tables.Count
ActiveDocument.Tables(i).Select
Selection.Start = Selection.End
Selection.Expand wdParagraph
stroka = Trim(Selection.Range.Text)
If Len(stroka) = 1 Then
'MsgBox "Ïóñòî" & " " & i
Selection.Delete
End If
Next i
End Sub
|
|
|
|
|
Supreme Being
      
участник
Last Login: 17.04.2006 21:22
Сообщ.: 113,
Visits: 1 255
|
|
|
|
|
|
Junior Member
      
участник
Last Login: 26.08.2009 19:37
Сообщ.: 11,
Visits: 126
|
|
а как решить вот такую задачу:
-имеем документы WORD, в которых есть пустые строки, количество их разное от 1 до 10-20 подряд
надо чтобы все пустые строки (подряд более одной) удалялись макросом
ну чтобы к примеру из пяти пустых строк подряд осталась одна, из двух тоже одна и тд.
|
|
|
|