Перейти до вмісту

WordBasic & VBA (Visual Basic for Applications)


Повідомлень в темі: 2

Опитування: програмування у ворді (Word) (22 користувачів проголосувало)

яку мову використовуєте у ворді для програмування?

  1. WordBasic (Word95) (0 голосів [0.00%])

    Процент голосів: 0.00%

  2. ms VB (Word97) (0 голосів [0.00%])

    Процент голосів: 0.00%

  3. VBA (Word2000) (2 голосів [9.09%])

    Процент голосів: 9.09%

  4. VBA (Word2002) (0 голосів [0.00%])

    Процент голосів: 0.00%

  5. VBA (Word2003) (2 голосів [9.09%])

    Процент голосів: 9.09%

  6. VBA (Ворд — молодший ніж вже вказані) (1 голосів [4.55%])

    Процент голосів: 4.55%

  7. всі простенькі макроси пишу в WordBasic, складніші — ms VB (Word97), найскладніші — в тій VBA, що дає змогу їх реалізувати (2 голосів [9.09%])

    Процент голосів: 9.09%

  8. не програмую у ворді (11 голосів [50.00%])

    Процент голосів: 50.00%

  9. залежить від того, який ворд трапиться в руки (1 голосів [4.55%])

    Процент голосів: 4.55%

  10. іншу мову (ms, але тут не вказана) (0 голосів [0.00%])

    Процент голосів: 0.00%

  11. іншу мову (в іншому Офісі) (1 голосів [4.55%])

    Процент голосів: 4.55%

  12. іншу мову (в іншому Офісі й іншій ОС) (2 голосів [9.09%])

    Процент голосів: 9.09%

чи знаєте Ви для чого взагалі потрібно програмувати у ворді?

  1. не маю уявлення (4 голосів [18.18%])

    Процент голосів: 18.18%

  2. здогадуюсь, бо чув/бачив/читав, що ті макро можуть робити (4 голосів [18.18%])

    Процент голосів: 18.18%

  3. знаю (1 голосів [4.55%])

    Процент голосів: 4.55%

  4. знаю і то добре: сам записую макроси (0 голосів [0.00%])

    Процент голосів: 0.00%

  5. знаю і то ще краще: сам записую + редаґую макроси (2 голосів [9.09%])

    Процент голосів: 9.09%

  6. знаю чудово: пишу макроси в редакторі макросів (3 голосів [13.64%])

    Процент голосів: 13.64%

  7. не уявляю собі роботи в ворд без макросів (1 голосів [4.55%])

    Процент голосів: 4.55%

  8. знаю, але мої переконання не дозволяють програмувати у ворді (5 голосів [22.73%])

    Процент голосів: 22.73%

  9. не знаю і знати не хочу (2 голосів [9.09%])

    Процент голосів: 9.09%

чи користуєтесь ms вордом?

  1. так (12 голосів [54.55%])

    Процент голосів: 54.55%

  2. ні (3 голосів [13.64%])

    Процент голосів: 13.64%

  3. ні, я в ОпенОфісі (2 голосів [9.09%])

    Процент голосів: 9.09%

  4. ні, я в лінуксовому "ворді" програмую (0 голосів [0.00%])

    Процент голосів: 0.00%

  5. ні, я в лінуксовому "ворді", але не програмую (1 голосів [4.55%])

    Процент голосів: 4.55%

  6. ні, я в лінуксі (0 голосів [0.00%])

    Процент голосів: 0.00%

  7. ні, в мене ПК з майбутнього — робить все сам :) (1 голосів [4.55%])

    Процент голосів: 4.55%

  8. ні, я щойно вперше сів за ПК (1 голосів [4.55%])

    Процент голосів: 4.55%

  9. ні, я в такій ОС, де ворди не передбачені (0 голосів [0.00%])

    Процент голосів: 0.00%

  10. ні, це непристойно :) (2 голосів [9.09%])

    Процент голосів: 9.09%

Голосувати Гості не можуть голосувати

#1 Bobua

    Писар

  • Користувачі
  • PipPipPipPipPipPipPipPip
  • 400 повідомлень
  • Стать:Чоловік
  • Місто:Бровари

Відправлено 04.09.2007 – 12:24

  • 2
Все було би добре з цими ms вордами, але добиває мене при виконанні макросів така проблема:

Ворд, виконуюючи якусь операцію заміни (наприклад, треба замінити 17 тис. елементів у тексті) сворює дуже багато тимчасових файлів навіть для однієї операції!!!
(я так розумію, для того, щоб була можливість скасовувати зміни). Це
1) значно сповільнює виконання макросу;
2) невиправдано завищує вимоги до кількості вільного місця на диску С:\...\Temp
Висновок: треба деактивувати Undo!!!

Чи знає хтось можливість деактивувати в бейсіку (Word чи VBA) скасування дій макросу в документі?
Бажано саме для WordBasic (Word95), але й для будь якого VBA (Word97......) теж, будь-ласка, пишіть....
Мені це треба при фарбуванні тексту словника: http://slovnyk.ho.co.../SlovnykPSH.htm , а особливо знадобиться для більших словників (великі академічні)

Повідомлення відредагував Bobua: 04.09.2007 – 12:27


#2 L.R.

    Профі

  • Користувачі
  • PipPipPipPipPipPipPip
  • 339 повідомлень
  • Стать:Чоловік
  • Місто:Львів

Відправлено 04.09.2007 – 13:31

не знаю як в інших ВБА, а от в 2003 му в обєкта ActiveDocument є такий метод як UndoClear. Він очищає ундо-список - список подій, які юзер може відмінити в меню. питання, чи витирає цей метод з пам'яті тимчасові документи, залишається відкритим...
  • 0

#3 Bobua

    Писар

  • Користувачі
  • PipPipPipPipPipPipPipPip
  • 400 повідомлень
  • Стать:Чоловік
  • Місто:Бровари

Відправлено 04.09.2007 – 15:28

msVB ActiveDocument.UndoClear

Перегляд дописуL.R. (4.09.2007 14:31) писав:

не знаю як в інших ВБА, а от в 2003 му в обєкта ActiveDocument є такий метод як UndoClear. Він очищає ундо-список - список подій, які юзер може відмінити в меню.
ActiveDocument.UndoClear мож написати і в 97 ворді.
і свою функцію (Clears the list of actions that can be undone for the specified document.
.......
Note Include this method at the end of a macro to keep Visual Basic actions from appearing in the Undo box (for example, "VBA-Selection.InsertAfter").
) він виконує: список очистив (по завершенні роботи макросу).

Цитата

питання, чи витирає цей метод з пам'яті тимчасові документи, залишається відкритим...
частково закрию :happy1:
1) макрос WordBasic ковертований в msVB [+ з командами ActiveDocument.UndoClear на початку і в кінці] до кінця не виконався (не вистачило йому 400 МБ на диску С; а обробляло ж файл 4,3 МБ :D )
2) після завершення [неповного] макросу витерло з пам'яті тимчасові документи, але було вже пізно. Якби воно було розумне, то взагалі не створювало би тимчасові файли

отже не допомогло
спробую ще написати чистий тест-макрос на msVB(97), але маю підозру, що й це не поможе







про редактор макросів у VB і VBA
здавалося б: набагато зручніший (є фарбування, підказки) аніж в WordBasic, але....
як зробити автоматичні переноси рядків коду?
шукав я в параметрах, але де вони сховали цю функцію??? :)

Повідомлення відредагував Bobua: 04.09.2007 – 15:29

  • 0



Кількість користувачів, що читають цю тему: 1

0 користувачів, 1 гостей, 0 анонімних