Страницы: 1
RSS
Чтение, Запись файлов doc из Excel c помощью VBA
 
Здравствуйте, здесь на форуме узнал как читать, писать в файле txt.
Я был счастлив, когда это узнал. :D
Вопрос такой, как произвести: "Чтение, Запись файлов doc из Excel c помощью VBA"
 
Как из Excel обратиться к другому приложению

Если коротко: так же, как из Word. Хотя смотря какие цели преследуются и что подразумевается под запись, чтение...Читать можно и бинарно - и разницы не будет, хоть картинка, хоть файл Word. Только надо четко понимать структуру документа в этом случае и уметь преобразовывать биты в нормальное представление.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо, The_Prist, Я почитал, немного прояснилось.Уточню вопрос.
1.Как скопировать все строки из файла docx в массив?
Вот так:
Код
array(1) = RowInWordFile(1)

...                         ...

array(9)= RowInWordFile(9)
2.Как Все удалить в docx файле и записать туда новый массив?
Вот так:
Код
RowInWordFile(1)=array(1)  

...                         ...

RowInWordFile(9)=array(9)
(Всё делается из excel с помощью vba!)   ;)
 
И еще у меня не получается использовать ThisWorkbook.Path:

Код
Set objWrdDoc = objWrdApp.Documents.Open("ThisWorkbook.Path & " \ " & 1.docx"")
 
Может в форум по Word тогда?
Заодно хоть одну книжку прочитайте по VBA, чтобы понять, что переменные не заключаются в кавычки.  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо за совет, The_Prist. Записывать в файл получилось   построчно!  :D  Использовал Ваши коды.  ;)  

Чтобы этот код работал нужно добавить библиотеку Microsoft Word:
зайдите в Visual Basic, нажмите на Tools \ Preferences \ Найдите библиотеку  Microsoft Word, отметьте её и нажмите OK!
Так можно изменить (запись) файл .docx:

Код
Sub OpenWord()
    
    Dim objWrdApp As Word.Application
    Dim objWrdDoc As Object
    Set objWrdApp = CreateObject("Word.Application")
    'objWrdApp.Visible = True
    Set objWrdDoc = objWrdApp.Documents.Open(ThisWorkbook.Path & "\" & "2.docx")
    
    For i = 1 To 9
    objWrdApp.Selection.TypeText Text:=i
    objWrdApp.Selection.TypeParagraph
    Next i
    
    objWrdDoc.Close True    ' False - без сохранения
    objWrdApp.Quit
    Set objWrdDoc = Nothing: Set objWrdApp = Nothing
End Sub



А какой Вы посоветуете форум по Word VBA?
Изменено: usersuperpupsik - 10.12.2013 14:20:24
 
Говорят, неплохой ресурс Wordexpert
 
А зачем считывать и записывать файл Word построчно?
Вы же форматирование не отслеживаете...

Вот простой пример макроса для работы с файлами Word:
http://excelvba.ru/programmes/Notepad
 
Игорь, http://excelvba.ru/programmes/Notepad, что-то я не вижу модуля с кодом в этом файле.
Юрий М!
Цитата
Говорят, неплохой ресурс Wordexpert
Зарегистрировался. Буду спрашивать здесь http://wordexpert.ru
Изменено: usersuperpupsik - 06.12.2013 01:51:10
 
Код в модуле формы.
 
У меня microsoft office 2007, Чтобы посмотреть код формы нужно выделить её, а потом нажать на F7! :D
Спасибо, Ребят, буду разбираться. ;)
Страницы: 1
Читают тему
Наверх