Какие альтернативы я могу иметь, чтобы использовать базу данных для этого случая?

Я создал модуль, который действует следующего способа:

  1. Я выбираю текст внутри документа. давайте говорить кусок фразы.

  2. Модуль ищет, внутри выбора, неких слов и заменяет их на другие.

Так простого. Я это использую, чтобы заменять выражения просители (пальто единицы средства и сокращений) в документах, с которыми я работаю. Пример.

Input = "En la Fig.3 se muestra una placa de 6 gsm."

seudo код:

10. buscar "Fig." y sustituirlo por "figura"

...

100. buscar "gsm" y sustituirlo por "g/m2"

...

и т.д.

Output = "En la figura 3 se muestra una placa de g/m2."

У модуля есть 100 аналогичных линий в два предыдущих часа. Я понимаю, что стратегия полностью неэффективная, но все же выполнение практически моментальное так что не поставили бы отделывать это..., если бы не состояло из-за некомфортабельного, из-за чего он следует, в том, чтобы добавлять новые пары к списку (я должен идти в редактор VBA и помещать их в руку), кроме которого он не позволяет мне видеть все пары одновременно в списке. Как также, если я заменяю сто линий, упомянутых одними или двумя Arrays.

Из-за этого он думал создавать базу данных. Он состоял бы из только таблицы четырех колонн: palabra_origen, palabra_destino, MatchCase, WholeWord.

Но, может быть, будьте все еще больше infeficiente создавать базу данных для чего-то такого простого вроде единственной таблицы четырех полей и имея в виду, что модуль не будет реализовывать консультации сочетая подмостки, поля, и т.д., но только прочитает одна одной поступающие данные таблицы.

Какая-то подсказка?

4
задан 27.03.2016, 06:01
2 ответа

Ты можешь создавать список используя внешний файл XML или JSON, он состоял бы cГіmodo в том, чтобы изменять больше, не будучи должен устанавливать / использовать услугу BD. Они существуют librerГ-схвати, чтобы использовать XML/JSON без проблем.

2
ответ дан 24.11.2019, 14:41
  • 1
    Arnau, что он перемещает, что s и # 243; я это справляюсь с VB. и #191; не valdr и # 237; чтобы использовать внешний файл DOC для того же prop и # 243; расположенный вместо XML или JSON? – Gonzalo 26.03.2016, 13:11
  • 2
    DOC сомневался в этом, но EXCEL конечно, если, конечно, что есть какой-то книжный магазин для этого. – Arnau Castellví 26.03.2016, 13:17
  • 3
    Не, если, если я понимаю точно то, что ты предлагаешь. Если говорится о том, чтобы использовать внешний файл не в trav и # 233; s услуги BD, и #191; из-за qu и # 233; не использовать прямо DOC с таблицей? и #191; Или даже txt? Я хочу сказать, что с DOC я не нуждаюсь в том, чтобы искать даже и установить librer и # 237; в... – Gonzalo 26.03.2016, 13:35
  • 4
    DOC - документы текста с форматом, не est и # 225; n скажи себе и # 241; ado, чтобы обрабатывать информацию с данными, давать и # 237; в слишком большое количество работы выдавать весь informaci и # 243; n in и # 250; til. XLS взамен, если est и # 225; подумавший для этого и конечно смоги использовать это прямо. Если не pudierse, идея состоит в том, чтобы использовать файл, который только относился бы к данным без формата, как это XML и JSON, изящество - что безопасный VB, который уже подготавливает книжными магазинами тому, чтобы относиться к ним, другой серьезный способ использовать формат CVS, который f и # 225; cil управления, и возможно использовать прямо с листа c и # 225; lculos как excel (я верю в то, что в XML tambi и # 233; n). – Arnau Castellví 26.03.2016, 23:03

Так Excel как XML или JSON они легкие для того, чтобы быть обновленным и в случае одинокого Excel ты должен производить таблицу с данными, которых ты нуждаешься в том, чтобы искать / заменить, и в существо оба Microsoft очень легко создавать макрос для твоего намерения.

Протестируй что-то как:

Sub Probando_Excel()

Dim oExl As Object, sName as String, sPath as String, sFName as String

'' Objeto para Excel
Set oExl = CreateObject("Excel.application")
'' Para que no sea visible
oExl.Visible = false

'' Ruta del archivo
sPath = "C:\Users\rafael.barragan\Documents\"
'' Nombre del archivo
sName = "ArchivoExcel.xlsx"
'' Nombre completo
sFName = sPath + sName
'' Abres archivo
oExl.workbooks.Open sFName

End Sub

тебе может казаться что-то казавшимся здесь, и для eficientar вещи поддержи это в памяти.

1
ответ дан 24.11.2019, 14:41
  • 1
    Ну, он провел много времени, но он возвращался на этом. Я применил указанное достигни из-за RafaBG и оно я функционирует верно. – Gonzalo 20.12.2016, 21:16
  • 2
    Ну, он провел много времени, но он возвращался на этом. Я применил указанное достигни из-за RafaBG и я вижу, что открывается правильно лист excel. Мой вопрос сейчас: ¿ có mo я даю ó rdenes в VBA, чтобы двигаться по таблице excel и возвращать стоимость ячеек? – Gonzalo 20.12.2016, 21:18
  • 3
    В зависимости от которого ты нуждался, ты можешь предпочитать копировать всю таблицу, немного có mo Workbooks(sFName).Worksheets([Nombre_Hoja]).Range("A1:C10").Copy или ты можешь просачиваться с AdvancedFilter – Rafa Barragan 22.12.2016, 00:22
  • 4
    Спасибо за твой ответ RafaBG. То, в чем я нуждаюсь, состоит в том, чтобы идти desplazá ndome из-за ячеек пары колонн листа, чтобы возвращать Вашу стоимость с целью pasá rselos в переменную в цикле самого có я говорю. – Gonzalo 22.12.2016, 11:04
  • 5
    Для этого ты можешь пробовать что-то как [...].Worksheets(...).Cells(i,j).Value в этом случае i и j - из-за координат в линиях и колоннах соответственно (ej. ячейка C4 = (4,3)) así ты можешь переходить с одного сайта на другой в координатах. – Rafa Barragan 23.12.2016, 18:30