Что нового

Как передать текст из ячейки Excel в текстовый файл с заменой по шаблону

ason

Новичок
Сообщения
25
Репутация
0
Добрый день! Прошу помочь, пожалуйста покажите пример, как передать данные из Excel в текстовый файл с заменой. Все что удалось осмыслить из справки, окончательно меня запутало. С екселем первый раз столкнулся, и к своему сожалению обнаружил, что функции в новой версии Autoit изменились, на форуме много примеров применительно только к ранним версиям.

Ниже пример от inververs. Тут извлекаются все значения из A1, но это не совсем то, что нужно. Я пытаюсь построчно заменить "Текст_А"..."Текст_Д", расположенный между тегами в текстовом фале на аналогичные строки из экселя, которые расположены в одной ячейке А1.

Код:
#include <Excel.au3>
Global $sFileXls = @ScriptDir & '\file.xls'
Global $sFileTxt = @ScriptDir & '\file.txt'

If Not FileExists($sFileXls) Then
    Exit MsgBox(16, 'Файл не найден', $sFileXls)
EndIf

If Not FileExists($sFileTxt) Then
    Exit MsgBox(16, 'Файл не найден', $sFileTxt)
EndIf

Local $oExcel = _Excel_Open(False, False)
Local $oBook = _Excel_BookOpen($oExcel, $sFileXls)
Local $sA1Cell = _Excel_RangeRead($oBook, Default, "A1")
_Excel_Close($oExcel)

Local $sDataTxt = FileRead($sFileTxt)
Local $sDataNew = StringRegExpReplace($sDataTxt, '(*UCP)(?i)\QВопрос\E', $sA1Cell)
If @extended Then
    ConsoleWrite('Сделано замен: ' & @extended & @CRLF) ;Эту строку можно удалить. Она для отладки
    Local $hFile = FileOpen($sFileTxt, 2)
    FileWrite($hFile, $sDataNew)
    FileClose($hFile)
EndIf
 

Вложения

  • Test-file.rar
    7.2 КБ · Просмотры: 4
Верх