Como usar o recurso de preenchimento automático para a função VBA no Excel 2007 com o Excel Add-In

6

(clonagem de pergunta sobre SO Eu criei uma função no VBA. Eu quero o Excel 2007 para mostrar o preenchimento automático ao escrever esta função no Excel da célula. Detalhe como

ComousarorecursodepreenchimentoautomáticoparaafunçãoVBAnoExcel2007comoExcelAdd-In(.xlam)?

ps.

NoExcel2010,oautocompletefunciona

NoExcel2007complanilhahabilitadaparamacrodoExcel(.xlsm),oautocompletefunciona.Oarquivodeteste aqui .

Mas, no Excel 2007 com o Excel Add-In (.xlam), o preenchimento automático NÃO funciona. O arquivo de teste aqui .

    
por Nam G VU 15.07.2012 / 11:11

1 resposta

1

Com base no link de Sean Cheshire para a resposta de Michaels:

“Eu encontrei um exemplo no JKP Application Development Services originalmente encontrado por Laurent Longre. Uma advertência é explicada abaixo:

Disadvantage of this trick method, is that one is actually re-registering a function within the dll one uses, which might be used by any program.

link

Esta solução apenas registra / cancela o registro da UDF, mas o usuário ainda terá que salvar a pasta de trabalho como .xlam e instalar o suplemento. Eu usei o seguinte código para instalar automaticamente a pasta de trabalho atual como um suplemento do Excel (se você estiver atualizando o suplemento, será necessário adicionar uma captura de erro para determinar se o suplemento já está instalado).

'Saves current workbook as an .xlam file
sFile = Application.LibraryPath & "\" & "name_of_addin" & ".xlam"
ThisWorkbook.SaveAs sFile, 55
ThisWorkbook.IsAddin = True

'Adds temporary workbook
Workbooks.Add

'Installs the addin
Set oAddin = AddIns.Add(sFile , False)
oAddin.Installed = True

'Closes temporary workbook
Workbooks(Workbooks.Count).Close
MsgBox ("Installation Successful. Please close Excel and restart.")

'Closes workbook without saving
Workbooks(sFirstFile).Close False

O link ainda está ativo.

    
por 17.01.2013 / 02:27