Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Запись значения в Word в 2 строки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись значения в Word в 2 строки (Макросы/Sub)
Запись значения в Word в 2 строки
Sashagor1982 Дата: Четверг, 21.04.2022, 21:14 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Добрый день, попробую сформулировать вопрос заново.
Привожу пример своего макроса
[vba]
Код
Sub proccesingWord()
    Dim myWord As New Word.Application
    Dim myDocument As Word.Document
    Dim result As String
    result = "Фамилия" & Chr(182) & "Имя" & Chr(182) & "Отчество"    
    On Error GoTo InStr       
    
    Set myDocument = myWord.Documents.Open("C:\Users\sasha\OneDrive\Рабочий стол\Пример2\Примерно.doc")
        
        myDocument.Content.Find.Execute "#Замена#", False, False, False, False, False, True, 1, False, result, 2      
        
        myDocument.SaveAs ("C:\Users\sasha\OneDrive\Рабочий стол\Пример2\Примерно2.doc")
        'myDocument.Undo
        
    myDocument.Close
    myWord.Quit
    

InStr:
    If Err.Description <> "" Then
        MsgBox "Ошибка " & Err.Description
        myDocument.Close
        myWord.Quit
    End If   

End Sub
[/vba]
Результат получается такой

А необходимо, что бы каждое слово было на новой строке. Как решить данную задачу?
К сообщению приложен файл: 5419245.rar (23.2 Kb)


Сообщение отредактировал Sashagor1982 - Пятница, 22.04.2022, 20:05
 
Ответить
СообщениеДобрый день, попробую сформулировать вопрос заново.
Привожу пример своего макроса
[vba]
Код
Sub proccesingWord()
    Dim myWord As New Word.Application
    Dim myDocument As Word.Document
    Dim result As String
    result = "Фамилия" & Chr(182) & "Имя" & Chr(182) & "Отчество"    
    On Error GoTo InStr       
    
    Set myDocument = myWord.Documents.Open("C:\Users\sasha\OneDrive\Рабочий стол\Пример2\Примерно.doc")
        
        myDocument.Content.Find.Execute "#Замена#", False, False, False, False, False, True, 1, False, result, 2      
        
        myDocument.SaveAs ("C:\Users\sasha\OneDrive\Рабочий стол\Пример2\Примерно2.doc")
        'myDocument.Undo
        
    myDocument.Close
    myWord.Quit
    

InStr:
    If Err.Description <> "" Then
        MsgBox "Ошибка " & Err.Description
        myDocument.Close
        myWord.Quit
    End If   

End Sub
[/vba]
Результат получается такой

А необходимо, что бы каждое слово было на новой строке. Как решить данную задачу?

Автор - Sashagor1982
Дата добавления - 21.04.2022 в 21:14
Sashagor1982 Дата: Пятница, 22.04.2022, 20:05 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Чуть изменил вопрос.
 
Ответить
СообщениеЧуть изменил вопрос.

Автор - Sashagor1982
Дата добавления - 22.04.2022 в 20:05
Апострофф Дата: Пятница, 22.04.2022, 20:24 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 123 ±
Замечаний: 0% ±

Excel 1997
Sashagor1982, вопрос про WORD немножко странен, учитывая специфику форума (и ветки).
Но попробуйте для начала поменять Chr(182) на VBLF или VBCR или VBCRLF
?
 
Ответить
СообщениеSashagor1982, вопрос про WORD немножко странен, учитывая специфику форума (и ветки).
Но попробуйте для начала поменять Chr(182) на VBLF или VBCR или VBCRLF
?

Автор - Апострофф
Дата добавления - 22.04.2022 в 20:24
Sashagor1982 Дата: Пятница, 22.04.2022, 20:46 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Апострофф, пробовал, не получается, но дело в том что word надо открыть из excel и изменить в нем данные.
 
Ответить
СообщениеАпострофф, пробовал, не получается, но дело в том что word надо открыть из excel и изменить в нем данные.

Автор - Sashagor1982
Дата добавления - 22.04.2022 в 20:46
Pelena Дата: Суббота, 23.04.2022, 18:01 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Sashagor1982, попробуйте вместо
[vba]
Код
result = "Фамилия" & Chr(182) & "Имя" & Chr(182) & "Отчество"
[/vba]
написать
[vba]
Код
result = "Фамилия^pИмя^pОтчество"
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеSashagor1982, попробуйте вместо
[vba]
Код
result = "Фамилия" & Chr(182) & "Имя" & Chr(182) & "Отчество"
[/vba]
написать
[vba]
Код
result = "Фамилия^pИмя^pОтчество"
[/vba]

Автор - Pelena
Дата добавления - 23.04.2022 в 18:01
Sashagor1982 Дата: Воскресенье, 24.04.2022, 09:39 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Pelena, Спасибо, все работает.
 
Ответить
СообщениеPelena, Спасибо, все работает.

Автор - Sashagor1982
Дата добавления - 24.04.2022 в 09:39
RAN Дата: Воскресенье, 24.04.2022, 18:01 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Pelena, достаточно заменить 182 на служебный код 13.
Но месье любит извращения...


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Воскресенье, 24.04.2022, 18:02
 
Ответить
СообщениеPelena, достаточно заменить 182 на служебный код 13.
Но месье любит извращения...

Автор - RAN
Дата добавления - 24.04.2022 в 18:01
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запись значения в Word в 2 строки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!