Hva er den beste måten å pakke og distribuere en Excel-søknad

stemmer
3

Jeg har skriftlig et Excel-basert database rapporteringsverktøy. Currentely, all VBA-kode i forbindelse med en enkelt XLS-fil. Brukeren genererer rapporten ved å klikke på en knapp på verktøylinjen. Dessverre, med mindre brukeren har lagret filen under et annet filnavn, blir alle de rapporterte data visket ut.

Når jeg har laget lignende verktøy i Word, kan jeg sette all koden i en mal (DOT) fil og kaller det derfra. Hvis jeg legger malen filen i oppstartsmappen for Office, vil det starte hver gang jeg starter Word. Er det en lignende måte, å pakke og distribuere min kode i Excel? Jeg har prøvd å bruke Add-ins, men jeg fant ikke en måte å ringe inn koden fra programvinduet.

Publisert på 27/08/2008 klokken 04:40
kilden bruker
På andre språk...                            


5 svar

stemmer
2

Du kan endre brukerens personal.xls fil, lagret i Excel oppstart katalog (varierer mellom Office-versjoner). Hvis du har mange brukere selv, kan det være fiddly.

En alternativ måte å komme over problemet ditt er å lagre makroen i en mal (XLT) fil. Så når brukerne åpner det de ikke kan lagre det tilbake over den opprinnelige filen, men må angi et nytt filnavn for å lagre det som. Ulempen med denne metoden er at du da får flere kopier av den opprinnelige koden over alt med hver lagret fil. Hvis du endrer den opprinnelige XLT og noen kjører på nytt den gamle makroen i et tidligere lagret xls-fil så ting kan komme ut av trinn.

Svarte 27/08/2008 kl. 06:13
kilden bruker

stemmer
10

Bare flytte koden inn i et Excel Addin (XLA) - dette blir lastet ved oppstart (forutsatt at det er i% AppData% \ Microsoft \ Excel \ XLStart), men hvis det er en tilleggsarbeidsbok, ikke en arbeidsbok, da bare dine makroer og definert oppstart funksjoner vil bli lastet.

Hvis funksjonene er avhengig av et regneark i seg selv, så kan det være lurt å bruke en kombinasjon av maler og Addins.

Jeg fordele en del av et program som dette, har vi Addins for Word, Excel og Powerpoint (XLA, PPA, DOT) og også Office 2007 'bånd' versjoner (DOTM, XLAM og PPAM)

Tillegget oppstart kode oppretter verktøyknapper hvis de ikke er funnet, betyr dette i noen arbeidsbok / dokument / etc de kan bare trykke på knappen på verktøylinjen for å kjøre vår kode (vi har to handlingsknapper og en knapp som viser en dialog innstillinger)

Maler er virkelig ikke veien å gå for VBA-kode, Addins er definitivt veien å gå ...

Så for å laste verktøylinjene ved oppstart vi bruker noe sånt .. (sjekke for å se om verktøylinjen finnes selv - kode vil kjøre for hvert regneark som er åpnet, men verktøylinjer er vedvarende for brukeren økt)

Public Sub Workbook_Open()
     ' startup code / add toolbar / load saved settings, etc.
End Sub

håper det hjelper :)

Svarte 27/08/2008 kl. 07:22
kilden bruker

stemmer
2

Jeg bruker alltid en Add-in (xla) / Mal (XLT) kombinasjon. Din add-in skaper menyen (eller andre UI inngangspunkter) og laster maler etter behov. Det skriver også data som du vil vedvare til en database (Access, SQLServer, tekstfil, eller enda en xls-fil).

Den første regelen er å holde koden atskilt fra dataene. Så, hvis du senere har feilrettinger eller andre kodeendringer, kan du sende en ny add-in og alle sine maler og databaser er ikke berørt.

Svarte 18/09/2008 kl. 19:39
kilden bruker

stemmer
0

Har du sett inn ClickOnce distribusjon Excel-filen?

Svarte 18/09/2008 kl. 19:40
kilden bruker

stemmer
0

Hva med å spare et excel til nettverksmappe med leser bare tillatelser? Autentiseringen kan gjøres med integrert Windows-godkjenning, og du trenger ikke å lagre forbindelse passord til databasen i VBA. Da trenger du bare distribuere en link til denne plasseringen til brukerne bare én gang. Hvis du vil gjøre en oppdatering, du bare endre data i denne mappen uten brukerens varsel.

Svarte 01/10/2015 kl. 15:40
kilden bruker

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