Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2019, 14:12   #1
baga
Новичок
Джуниор
 
Регистрация: 22.10.2019
Сообщений: 4
По умолчанию считать файл txt и перенести в таблицу в WORD

есть файл txt, нужно прочитать файл и получить оформленный документ в WORD.
данные в файле разделены";"
в word уже есть шаблон и данные нужно вставить именно в него.

буду рад любой помощи, все перерыл ничего не нашел, это уже дело принципа.

Последний раз редактировалось baga; 23.10.2019 в 08:20.
baga вне форума Ответить с цитированием
Старый 22.10.2019, 14:36   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от baga Посмотреть сообщение
буду рад любой помощи, все перерыл ничего не нашел, это уже дело принципа.
во-первых, думаю, что можно написать макрос, который это делает.

во-вторых, можно и ручками вставить.
1) переименовали 1.txt в 1.csv
2) открыли 1.csv в Excel
3) открыли шаблон
4) Выделили мышкой ячейку/ячейки в первом столбце. Нажали на кнопку "Нумерация"
5) в таблицу вставили нужное число пустых строк (столько, сколько строк в Excel
(можно копированием, можно установить курсор в таблицу и нажать клавишу TAB)
6) перешли в Excel, выделили все данные, нажали Ctrl-Insert (команда Копировать)
7) перешли в Word, выделили диапазон куда надо вставлять (все ячейки), нажали Shift-Ins (Вставить).
всё.

Последний раз редактировалось Serge_Bliznykov; 22.10.2019 в 14:39.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.10.2019, 14:40   #3
baga
Новичок
Джуниор
 
Регистрация: 22.10.2019
Сообщений: 4
По умолчанию

Это конечно все прекрасно, и просто, но задача стоит сделать это именно макросом
baga вне форума Ответить с цитированием
Старый 22.10.2019, 14:45   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от baga Посмотреть сообщение
но задача стоит сделать это именно макросом
и как нужно было об этом догадаться?

Ладно. Показывайте свой код макроса загрузки текста, посмотрим, что нужно поправить.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.10.2019, 14:47   #5
baga
Новичок
Джуниор
 
Регистрация: 22.10.2019
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
и как нужно было об этом догадаться?

Ладно. Показывайте свой код макроса загрузки текста, посмотрим, что нужно поправить.
его нет( потому что я тупой. очень хочется увидеть все таки как он должен выглядеть.
baga вне форума Ответить с цитированием
Старый 22.10.2019, 15:51   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от baga Посмотреть сообщение
чень хочется увидеть все таки как он должен выглядеть.
смотрите
Код:
Sub AImportText()
   Dim Table1 As Table, i As Long, k As Long

  Dim intFile As Integer
  Dim strFile As String
  Dim strIn As String
  Dim textArray() As String


    Dim ofd As FileDialog
    Set ofd = Application.FileDialog(msoFileDialogOpen)
    With ofd
        .AllowMultiSelect = False
        .Title = "выбор файла для загрузки"
        .InitialFileName = ThisDocument.Path & "\2.txt"
        .Filters.Clear
        .Filters.Add "Text files", "*.txt"
        If .Show = -1 Then

            Set Table1 = ThisDocument.Tables(1)

            ' MsgBox (.SelectedItems(1))
            intFile = FreeFile()
            strFile = .SelectedItems(1)
            Open strFile For Input As #intFile
            
              
            i = 1
            Do While Not EOF(intFile)
                Line Input #intFile, strIn
                Table1.Cell(i + 1, 1).Range.InsertAfter i
                textArray = Split(strIn, ";")
                For k = LBound(textArray) To UBound(textArray)
                    Table1.Cell(i + 1, k + 2).Range.InsertAfter textArray(k)
                Next k
                i = i + 1
                Table1.Rows.Add
            Loop
            
            Table1.Range.LanguageID = wdRussian
            
            Close #intFile

        End If
    End With  

End Sub
Вложения
Тип файла: zip ImportTextFile.zip (18.2 Кб, 20 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.10.2019, 15:55   #7
baga
Новичок
Джуниор
 
Регистрация: 22.10.2019
Сообщений: 4
По умолчанию

Храни тебя господь!

Последний раз редактировалось baga; 23.10.2019 в 08:20.
baga вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенести таблицу runik Microsoft Office Excel 7 15.05.2013 03:40
перенести таблицу horpenst Microsoft Office Excel 4 20.12.2011 13:18
перенести документ Word (таблица) в MS Excel c сохранением форматирования или обеспечить всплывающие подсказки в Word Serge_Bliznykov Microsoft Office Word 6 11.07.2011 11:02
Перенести таблицу из Word - > Excel bdfy Microsoft Office Word 14 16.07.2010 11:59
HELP!! Необходимо перенести таблицу из Excel в Word nastya12 Microsoft Office Excel 7 01.03.2010 18:16