powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Появление лишних символов при записи в CSV файл
3 сообщений из 3, страница 1 из 1
Появление лишних символов при записи в CSV файл
    #39103615
AlexSheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Для работы необходимо написать скрипт, читающий только таблицы из Word-документа и записывающий их значения в csv-файл.
Поскольку VBScript использую в первый раз, то с помощью гугления удалось написать почти работающую версию. Однако, при проверке в результирующем файле были обнаружены лишние символы перехода на новую строку или в Блокноте они отображаются как []. Как можно это исправить? Понимаю, что наверняка вопрос решается тривиально, но мне не удалось исправить.

Заранее благодарю за помощь.

Прилагаю код скрипта:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
Option Explicit

Dim objWord, objFSO, objCSV
Dim fileName, folderPath, filePath, csvFilePath
Dim currentDocument
Dim numberOfTables
Dim i
Dim j
Dim tbl

folderPath = WScript.Arguments.Item(0)
fileName = WScript.Arguments.Item(1)
filePath = folderPath & fileName
csvFilePath = filePath & ".csv"

Set objWord = CreateObject("Word.Application") 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objCSV = objFSO.openTextFile(csvFilePath, 2, true)

objWord.DisplayAlerts = 0
objWord.Documents.Open filePath, false, true
Set currentDocument = objWord.Documents(1)

numberOfTables = currentDocument.tables.count

If numberOfTables = 0 Then
WScript.Echo "There are no tables " & vbCRLF
Else
For Each tbl In currentDocument.Range.Tables
  For i = 1 To tbl.Rows.Count
    For j = 1 To tbl.Columns.Count
      objCSV.Write tbl.Cell(i, j).range.text
	  If j < tbl.Columns.Count Then
		objCSV.Write ","
	  End If
    Next
	objCSV.Writeline 
  Next
  objCSV.Writeline 
  objCSV.Writeline 
Next
End If

currentDocument.Close
Set currentDocument = Nothing

objWord.Quit
Set objWord = Nothing
...
Рейтинг: 0 / 0
Появление лишних символов при записи в CSV файл
    #39103622
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexSheff,
в тексте ячейки, в конце содержатся два невидимых символа, так что переделайте строку objCSV.Write tbl.Cell(i, j).range.text так:
Код: vbnet
1.
2.
3.
4.
Dim s
'...
s = tbl.Cell(i, j).range.text
objCSV.Write Left(s, Len(s) - 2)
...
Рейтинг: 0 / 0
Появление лишних символов при записи в CSV файл
    #39103623
AlexSheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский,
спасибо большое, теперь все работает.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Появление лишних символов при записи в CSV файл
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]