Konverter Excel 4 makroer til VBA

stemmer
6

Jeg har en gammel Excel 4 Macro som jeg bruker til å kjøre månedlige fakturaer. Det er ca 3000 linjer, og har mange Excel 5 Dialog Box ark (for dialogbokser). Jeg vil gjerne vite hva den enkleste måten ville være å endre den til Visual Basic og om det er verdt det. Jeg vil også gjerne vite hvordan, hvis en gang jeg har konvertert den til VBA, hvordan du oppretter en frittstående applikasjon av det.

Publisert på 18/09/2008 klokken 06:08
kilden bruker
På andre språk...                            


4 svar

stemmer
1

Her er en god artikel om dette emnet: http://msdn.microsoft.com/en-us/library/aa192490.aspx

Du kan laste ned VB2008-Express gratis på: http://www.microsoft.com/express/default.aspx

Svarte 18/09/2008 kl. 06:15
kilden bruker

stemmer
2

AFAIK er det ingen mulighet å liksom konvertere den. Du må i utgangspunktet skrive inn i VBA.

Hvis du har konvertert til VBA, kan du ikke kjøre som en frittstående applikasjon. Som VBA sier Visual Basic for Application, er det å leve i et program (Word, Excel, Scala, uansett).

Du må lære en standard språk (ikke en makro-språk) for å lage frittstående applikasjoner. Men du må lære mye mer enn selve språket. Du må lære forskjellige teknikker, for eksempel databasehåndtering i stedet for Excel-ark håndtering, utskrift i stedet for Excel utskrift, og så videre. Så i utgangspunktet vil du miste mye av funksjon som er tydelig hvis du bruker Excel.

Svarte 18/09/2008 kl. 06:17
kilden bruker

stemmer
6

Jeg har forsøkt dette før, og i slutten du trenger å skrive det som Biri har sagt.

Jeg gjorde mye av dette arbeidet da selskapet ble oppgraderer fra Windows NT til Windows XP. Jeg fant ofte at det er lettere å ikke se på den gamle koden i det hele tatt, og starte på nytt fra bunnen av. Du kan bruke så mye tid på å prøve å finne ut hva Excel fire gjorde spesielt rundt "rar" i dialogboksen notasjon. Til slutt hvis du vet hva inngangene er og utgangene da er det ofte mer tid effektiv og renere å skrive.

Enten å bruke VBA eller ikke er på noen måter et annet spørsmål, men VBA er ganske kraftig og utvidbar så selv om jeg heller vil bruke andre verktøy som .NET i mange tilfeller det fungerer bra og er enkel å implementere.

Når det gjelder er det verdt det? Hvis du kan si at du var aldri noensinne kommer til å trenge å endre Excel 4 makro igjen da kanskje ikke. Men i Business er det alltid noe som endrer f.eks skattesatser, spesielt slutten av året ting. Gitt hvor vanskelig det er å finne noen til å støtte Excel 4 og selv finne dokumentasjon på det jeg vil si det er risikabelt ikke å flytte til VBA men det er noe å balansere opp.

Svarte 18/09/2008 kl. 06:52
kilden bruker

stemmer
3

(Disclaimer: Jeg utvikle Excel-DNA bibliotek)

I stedet for å flytte den makro til VBA, som bruker et COM-objekt automatisering modell som skiller seg fra Excel makro språk, heller flytte den til VB.NET (eller C #) løper med Excel-DNA- bibliotek.

Excel-DNA kan du bruke C API, som speiler makrospråket svært tett. For hver makro kommando, som din dialoger, det er en C API-funksjonen som tar de samme parametrene. For eksempel, ville tilsvarende DIALOG.BOX være xlfDialogBox - det er noen diskusjon og eksempel i denne tråden: http://groups.google.com/group/exceldna/browse_thread/thread/53a8253269fdf0a5 .

En stor fordel med dette trekket er at du kan deretter gradvis endre deler av koden for å bruke COM automatisering grensesnitt - Excel-DNA kan du mikse og matche COM-grensesnitt og C API.

Svarte 27/09/2011 kl. 17:43
kilden bruker

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