Vra

Ek het writen'n Excel-gebaseerde, databasis verslagdoening hulpmiddel.Currentely, al die VBA-kode is wat verband hou met'n enkele XLS lêer.Die gebruiker genereer die verslag deur te kliek op'n knoppie op die nutsbalk.Ongelukkig, tensy die gebruiker het die lêer gestoor onder'n ander lêer naam, al die berig data kry uitgewis-uit.

Wanneer ek geskep het soortgelyke gereedskap in'n Woord, ek kan sit al die kode in'n sjabloon (.dot) lêer en noem dit van daar af.As ek die sjabloon lêer in die Kantoor begin gids, sal dit begin elke keer as ek begin met die Woord.Is daar'n soortgelyke manier, te verpak en versprei my kode in Excel?Ek het probeer om met behulp Voeg-ins, maar ek het nie'n manier vind om te bel die kode van die aansoek venster.

Was dit nuttig?

Oplossing

Jy kan die gebruiker se personal.xls lêer, gestoor in die excel begin gids (wissel tussen Office weergawes) te verander. As jy baie van die gebruikers al het, kan dit fiddly wees.

'n Alternatiewe manier oor jou probleem uit te kom is om die makro in 'n sjabloon (.xlt) lêer te stoor. Dan wanneer die gebruikers open dit kan hulle nie red dit terug oor die oorspronklike lêer, maar het 'n nuwe lêernaam om dit te red as spesifiseer. Die nadeel van hierdie metode is dat jy dan kry veelvuldige kopieë van jou oorspronklike kode oor die hele plek met elke gered lêer. As jy die oorspronklike .xlt verander en iemand reruns die ou makro in 'n voorheen-gered XLS lêer dan dinge kan kry uit pas.

Ander wenke

Eenvoudig beweeg jou kode in'n Excel-Invoegsel (XLA) - dit kry gelaai op opstart (die veronderstelling dat dit is in die %AppData%\Microsoft\Excel\XLSTART gids) maar as dit is'n invoegsel, nie'n werkboek, dan net jou makros en gedefinieer opstart funksies sal gelaai word.

As die funksies is afhanklik van'n sigblad self, dan kan jy dalk wil om te gebruik'n kombinasie van templates en addins.

Ek is die verspreiding deel van'n aansoek soos hierdie, ons het addins vir Woord, Excel en Powerpoint (XLA, PPA, DOT) en ook Kantoor 2007 'lint se weergawes (DOTM, XLAM en PPAM)

Die invoegsel begin kode skep nutsbalk knoppies as hulle nie gevind nie, beteken dit dat in'n werkboek/dokument/ens hulle kan net druk op die nutsbalk knoppie om te hardloop ons kode (ons het twee aksie knoppies en een-knoppie wat vertoon'n instellings dialoog)

Templates is nie regtig die pad om te gaan vir die VBA-kode, Addins is beslis die manier om te gaan...

So laai die balke op opstart ons is die gebruik van iets soos die..(nagaan om te sien of toolbar bestaan al - kode sal hardloop vir elke werkkaart wat is geopen, maar nutsbalke hardnekkige vir die gebruiker sessie)

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

hoop dit help :)

Ek gebruik altyd 'n Add-in (xla) / Template (XLT) kombinasie. Jou add-in skep die spyskaart (of ander UI inskrywing punte) en vele voorbeelde as wat nodig is. Dit data wat jy wil om te volhard om 'n databasis (Access, SQLServer, tekslêer, of selfs 'n xls lêer) skryf ook.

Die eerste reël is om jou kode apart van jou data te hou. Dan, as jy later het foutherstellings of ander kode veranderinge, kan jy 'n nuwe byvoeging in te stuur en al hul templates en databasisse is nie geraak nie.

Het jy al gekyk na ClickOnce implementering van die Excel-lêer?

Wat van 'n Excel te red om die gids te netwerk met lees net regte? Die verifikasie gedoen kan word met 'n geïntegreerde vensters verifikasie en jy hoef nie te konneksie wagwoord stoor om die databasis in die VBA. Dan moet jy net versprei 'n skakel na hierdie plek is vir jou gebruik slegs een keer. As jy 'n update sal doen, jy net data in die gids verandering sonder kennisgewing gebruiker.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top