2016-07-30 5 views
2

Я запрограммировал надстройку excel в VBA, которая вызывает вызовы на сервер MySQL с использованием python. Моя проблема заключается в следующем:Надстройка Excel удалена без согласия

время от времени, без видимых причин, надстройка удаляется со вкладки разработчика, и я больше не могу получить доступ к ее коду. Способом устранения этой проблемы является удаление и переустановка надстройки (Files-> OPtions-> Add-ins-> Go ..). Поскольку это довольно утомительно, я обращаюсь за помощью.

Opening a existing file with formulas from my add-in, I first get the following warning

Leading to this when trying to edit the links

К сожалению, редактирование терпит неудачу и выдает сообщение об ошибке

Тогда формулы остаться сломана и потерпеть неудачу, чтобы вызвать надстройку, так же, как он не был найден, и я должен удалить его и повторно импортировать его для работы книги.

Перед запуском какого-либо разработчика VBA?

+0

Неа. Но вы действительно можете сделать надстройку самостоятельно, как exe-файл. Не то чтобы это действительно помогло вам. – Andreas

ответ

3

Вот как я бы это сделать, если я перед такой же вопрос, как ваша

  1. Закройте все открытые рабочие книги в Excel
  2. Создать новую подпрограмму с именем Auto_Open в пустой Excel файл
  3. Добавить код, указанный в конце этого сообщения
  4. Сохраните его до C:\Users\<your username>\AppData\Roaming\Microsoft\Excel\XLSTART после того, как вы ввели, протестировали и проверили код. Путь может варьироваться в зависимости от ОС, которую вы используете.

И все готово. В следующий раз, когда Excel запустится, он проверяет, установлена ​​ли надстройка, а если нет, то она ее установит.

Непроверено

Sub Auto_Open() 
    If IsAddinLoaded("Your Add-In Name") = False Then 
     With Application 
      .AddIns.Add "Filepath to your Add-In", False 
      .AddIns("Your Add-In Name").Installed = True 
     End With 
    End If 
End Sub 

Function IsAddinLoaded(AddinName As String) As Boolean 
    On Error Resume Next 
    IsAddinLoaded = Len(Workbooks(AddIns(AddinName).Name).Name) > 0 
End Function 
+0

Спасибо! Это факт, что файл находится в папке XLSTART, которая автоматически запускает его каждый раз, когда я запускаю excel? Кроме того, следует ли сохранить его в качестве надстройки или простой рабочей книги с поддержкой макросов? –

Смежные вопросы