Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: конфлик докмуентов docm с одинаковыми модулями Добавлено: 15.09.09 12:25  

Автор вопроса:  tyrus
Конфлик заключается в следующем:
Если открыт один документ, или параллельно с другими, но docx, то docm работает корректно.
Если окрыть 2 одинаковых docm (просто скопированные, но сразными именами файлов), то макросы перестают корректно работать, например перестают создаваться таблицы, перестет верно вычисляться номера таблицы и ее строк (там где курсор находится).

В модулях все обращения к документу как ActiveDocument.
Попытка запихнуть весь код в ThisDocument положительного результата не дала.

Мб кто сталкивался с такими проблемами? что может происходить при открытии одинаковых документов?

Да, еще, использую отлов событий: перемещение курсора, мб тут глюк происходит?

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 tyrus



Вопросов: 1
Ответов: 1
 Профиль | | #1 Добавлено: 15.09.09 16:15
Немного изучил баг поподробнее.

Все ошибки возникают в модуле ThisDocument, стандартного для всех документов. Паразительно то, что там все процедуры Sub у меня Private, но при открытии второго документа, они все выполняются одновременно. Т.е. если я работаю в одном документе, то процедуры из второго тоже выполняются! :(

ЗЫ: там у меня происходит отлов дейсвий:
  1. Option Explicit
  2.  
  3. Private WithEvents AppEv As Word.Application
  4.  
  5. Sub AutoOpen()
  6.    'Связывание объекта Application с событиями
  7.    Set AppEv = ActiveDocument.Application
  8.    checkCursor = True
  9. End Sub
  10.  
  11. Private Sub AppEv_WindowSelectionChange(ByVal Sel As Selection)
  12. ...
  13. End Sub
  14.  



т.е. в одном документе Sub AppEv_WindowSelectionChange выполняется столько раз, сколько документов таких же сейчас открыто :(
Как это пофиксить?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам