Как использовать Word 2007 VBA для копирования всего текста и его замены в документе CSV для строк - PullRequest
0 голосов
/ 07 июля 2011

Как использовать Word 2007 (или Word 2003) VBA, чтобы скопировать весь текст и вставить его в CSV-документ из четырех строк. Например: «Я люблю мир». Это будет:

I -    Line 1 - page 1 - Paragraph 1
love - Line 1 - page 1 - Paragraph 1
the -  Line 1 - page 1 - Paragraph 1
word - Line 1 - page 1 - Paragraph 1

1 Ответ

1 голос
/ 07 июля 2011

Следующий код должен выводиться в файл .csv.

Примечание!Сначала добавьте ссылку на dll Microsoft Scripting Runtime (scrrun.dll) :

Из окна VBA Сервис-> Ссылки-> Проверить Microsoft Scripting Runtime dll

Воткод, который работает (вы можете создать макрос и поместить код внутри него):

Dim wordsArray, arrayElement
Dim delimiter As String
Dim fileName As String
Dim fso As FileSystemObject
Dim outputFile As textStream

'select all document's content
ActiveDocument.Select

'provide delimiter
delimiter = InputBox("Please enter delimiter to use")

'split the selected content and place it inside the array
wordsArray = Split(Selection.Text, delimiter)

'generate output file name
fileName = "C:\Output.csv"

'create new FileSystem object and open text stream to write to
Set fs = New FileSystemObject
Set outputFile = fs.CreateTextFile(fileName, True) 'note file will be overwritten

'iterate through array and write to the file
For Each arrayElement In wordsArray
    'Use the following code to place each word into separate COLUMN
    'outputFile.Write (arrayElement) & ","

    'Use the following code to place each word into separate ROW
    outputFile.WriteLine (arrayElement)
Next

'close output stream
outputFile.Close

Вы можете помассировать его в зависимости от ваших потребностей ...

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...