Laster Addins når Excel er instansiert programma

stemmer
10

Jeg prøver å lage en ny forekomst av Excel ved hjelp av VBA ved hjelp av:

Set XlApp = New Excel.Application

Problemet er at denne ny forekomst av Excel ikke laste alle Addins at belastningen når jeg åpner Excel normalt ... Er det noe i Excel Application gjenstand for lasting i alle de brukerdefinerte Addins?

Jeg prøver ikke å laste en bestemt add-in, men heller gjøre den nye Excel-programmet oppfører seg som om brukeren åpnet den seg selv, så jeg ser virkelig for en liste over alle brukervalgte tilleggene som vanligvis laster når du åpner Excel.

Publisert på 17/10/2008 klokken 16:48
kilden bruker
På andre språk...                            


4 svar

stemmer
-1

Prøve:

Set XlApp = CreateObject("Excel.Application")

Svarte 17/10/2008 kl. 19:32
kilden bruker

stemmer
5

Bruke CreateObject("Excel.Application")ville ha samme resultat som å bruke New Excel.Application, dessverre.

Du må laste Addins du trenger individuelt av filbane og navn ved hjelp av Application.Addins.Add(string fileName)metoden.

Svarte 17/10/2008 kl. 20:10
kilden bruker

stemmer
24

Jeg så inn i dette problemet igjen, og Application.Addins samlingen ser ut til å ha alle Addins oppført i Verktøy-> Addins menyen, med en boolsk verdi som angir hvorvidt et tillegg er installert. Så hva synes å fungere for meg nå er å sløyfe gjennom alle Addins og hvis .Installed = sant da jeg satt .Installed til False og tilbake til True, og som synes å ordentlig laste mine Addins.

Function ReloadXLAddins(TheXLApp As Excel.Application) As Boolean

    Dim CurrAddin As Excel.AddIn

    For Each CurrAddin In TheXLApp.AddIns
        If CurrAddin.Installed Then
            CurrAddin.Installed = False
            CurrAddin.Installed = True
        End If
    Next CurrAddin

End Function
Svarte 30/04/2009 kl. 10:45
kilden bruker

stemmer
2

Jeg forlater dette svaret her for noen andre som kjørte inn i dette problemet, men ved hjelp av Javascript.

Litt bakgrunns ... I mitt selskap har vi en tredje part web app som brukes Javascript for å lansere Excel og generere et regneark på fly. Vi har også et Excel-tillegg som overstyrer oppførselen Lagre-knappen. Tillegget gir deg muligheten til å lagre filen lokalt eller i vår online dokumentstyringssystem.

Etter at vi oppgradert til Windows 7 og Office 2010, la vi merke til et problem med vår regneark generer web app. Når Javascript generert et regneark i Excel, plutselig på Lagre-knappen ikke lenger fungerte. Du ville Klikk på Lagre og ingenting skjedde.

Ved hjelp av de andre svarene her jeg var i stand til å konstruere en løsning i Javascript. I hovedsak vil vi skape Excel Application objekt i minnet, legg et bestemt add-in for å få vår lagringsknappen oppførsel tilbake. Her er en forenklet versjon av vår fix:

function GenerateSpreadsheet()
{
    var ExcelApp = getExcel();
    if (ExcelApp == null){ return; }

    reloadAddIn(ExcelApp);

    ExcelApp.WorkBooks.Add;
    ExcelApp.Visible = true;
    sheet = ExcelApp.ActiveSheet;

    var now = new Date();
    ExcelApp.Cells(1,1).value = 'This is an auto-generated spreadsheet, created using Javascript and ActiveX in Internet Explorer';

    ExcelApp.ActiveSheet.Columns("A:IV").EntireColumn.AutoFit; 
    ExcelApp.ActiveSheet.Rows("1:65536").EntireRow.AutoFit;
    ExcelApp.ActiveSheet.Range("A1").Select;

    ExcelApp = null;
}

function getExcel() {
   try {
       return new ActiveXObject("Excel.Application");
   } catch(e) {
       alert("Unable to open Excel. Please check your security settings.");
       return null;
   }
}

function reloadAddIn(ExcelApp) {
    // Fixes problem with save button not working in Excel,
    // by reloading the add-in responsible for the custom save button behavior
    try {
        ExcelApp.AddIns2.Item("AddInName").Installed = false;
        ExcelApp.AddIns2.Item("AddInName").Installed = true;
    } catch (e) { }
}
Svarte 06/06/2013 kl. 16:43
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more