加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 vba

vba.pdf

vba

石林
2012-08-15 0人阅读 举报 0 0 暂无简介

简介:本文档为《vbapdf》,可适用于高等教育领域

EinführunginVBAVBAwurdeursprünglichentwickelt,umAnwendungen(Applications)unterOfficeanzupassenSolcheAnwendungensindWord,Excel,Access,Outlook,uaUnddarinliegtdieEinschränkungImGegensatzzuVisualBasic,lässtsichVisualBasicforApplicationnurineinersolchenAnwendungnutzenDochVBAistnochvielmehralsnureineeinfacheProgrammierspracheVBAbesitztnichtnureineEntwicklungsumgebung(IDE=IntegratedDevelopmentEnvironment),sondernermöglichtaucheineobjektorientierteProgrammierungZusätzlicheWerkzeugeerlaubendasTestenundOptimierenvonProzedurenDieVBAEntwicklungsumgebungZuallenOfficeAnwendungenistalsoeinezusätzlicheweitereAnwendung,dieIDE,vorhandenBildAnwendungenundVisualBasicEditorInstalliertwirddieEntwicklungsumgebungüberdieSchaltflächeOfficeundderdarinenthaltenenSchaltflächeOptionenUnterdenOptionenbefindetsichauchdieAuswahlEntwicklungsregisterkarteinderMultifunktionsleisteanzeigenDamitbefindetsichinderAnwendungdannderMenüpunktEntwicklertoolsGeöffnetwirddieEntwicklungsumgebungauseinerOfficeAnwendungherausüberEntwicklertoolsunddannmitVisualBasicEsöffnetsicheinneuesFenster,daswirnachfolgendalsVisualBasicEditorbezeichnenDerVisualBasicEditormussabernichtimmerüberFunktionenausderMenüleisteaufgerufenwerdenMitdenTastenAltFkanndieEntwicklungsumgebungauchdirektausdenAnwendungenstartenDerVisualBasicEditorDerVisualBasicEditorwirktaufdenerstenBlickerdrückendNichtzuletztweilerausmehrerenFensternbesteht,dieunterschiedlicheAufgabenerfüllenBeginnenwirmitdenüblichenGrundeinstellungenDazurufenSieimVisualBasicEditordenMenüpunktExtrasOptionenauf(nichtunterderExcelTabelleExtras!)EserscheinteinFenstermitvierRegistern,dieSienachfolgendsehenUnterEditor(Bild)stellenSiedieEntwicklungsparametereinDieTabSchrittweitewirdaufgesetztKlickenSiealleOptionsfensteranWichtigistvorallemdieOptionVariablendeklarationerforderlichDamitwerdenSiebeiderProgrammentwicklunggezwungen,alleverwendetenVariablenzudeklarierenEinMussfürguteProgrammeAndererstenStelleeinesjedensichneuöffnendenCodefenstersstehtdannimmerdieAnweisung:HNahrstedt,ExcelVBAfürMaschinenbauer,DOI,©ViewegTeubnerVerlag|SpringerFachmedienWiesbadenGmbHEinführunginVBAOptionExplicitSiewerdendieseAnweisungauchinunserenspäterenProgrammlistenwiederfindenBildOptionenEditorBildOptionenEditorformatUnterEditorformatwirddieSchriftartfürdieCodedarstellunggewähltIchbenutzehierCourierNewmitderSchriftgröße,weilbeidieserSchriftartalleZeichendiegleicheBreitebesitzenundsomitdirektuntereinanderstehenSiekönnenaberaucheineandereSchriftartwählenWichtigistinersterLinieeinedeutlicheLesbarkeitdesProgrammcodeUnterAllgemeinsindnochAngabenzurDarstellungderBenutzeroberflächemöglichDieAnordnungvonSteuerelementengeschiehtinRasternHierhabeichPunkteeingestelltBildOptionenAllgemeinBildOptionenVerankernUndimletztenFensterVerankernsindallemöglichenFensterdesVisualBasicEditorsaufgeführtNebendemeigentlichenEditorbenötigenwirzurEntwicklungundAusführungdenProjektExplorerunddasEigenschaftsfensterDieVBAEntwicklungsumgebungProjektundProjektExplorerEineAnwendung,zuderinunseremFallnebeneinerodermehrererExcelTabellenauchBenutzerflächen,Programmmodule,ObjekteundProzedurengehören,wirdalsProjektbezeichnetDerProjektExplorerdientzurVerwaltungallerObjekteeinesProjektsJedesProjektbesitzteinenNamenBeimNeustartstehtimmerVBAProjektimProjektExplorerDamanimLaufederZeitmitvielenProjektenarbeitet,solltemanjedemeinenaussagekräftigenNamengebenBildDerProjektExplorerimVisualBasicEditornachdemStartWichtigistnoch,dassinderMenüleistedesProjektExplorerszweiSchaltflächenvongroßerBedeutungliegenMitdiesenSchaltflächenbestimmenSie,obimEditoreinObjekt(zBeineBenutzerfläche)alsAnsichtoderdiezugehörigenProzedurenalsProgrammcodedargestelltwerdenEinimProjektExplorerausgewähltesObjektistauchimmerimEditorsichtbar,soweitdiesvonderArtdesObjektsmöglichistDerObjektkatalogDerObjektkatalog,dersichgenausowiealleanderenFensterinderEntwicklungsumgebungüberdieMenüfunktionAnzeigeneinundausschaltenlässt,zeigtdieKlassen,Eigenschaften,Methoden,EreignisseundKonstantenan,dieindenObjektbibliothekenundProzedurendemjeweiligenProjektzurVerfügungstehenMitdiesemDialogfeldkönnenSieObjekte,dieSieselbsterstellen,oderObjekteausanderenAnwendungensuchenundverwendenDerObjektkatalogwirdeigentlichnurbeiBedarfgeöffnetBildDerObjektKatalogimVisualBasicEditorEinführunginVBADasEigenschaftsfensterDasEigenschaftsfensteristeinzurEntwicklungsehrwichtigesFensterEslistetfürdasausgewählteObjektdieEigenschaftenzurEntwurfszeitundderenaktuelleEinstellungenaufBildDasEigenschaftsfensterimVisualBasicEditorSiekönnendieseEigenschaftenzurEntwurfszeitdurchAnklickeninderListeändernDazumüssenSiezuerstdasentsprechendeObjektdurchAnklickenimEditor(Ansicht)markierenWennSiemehrereSteuerelementeauswählen,enthältdasEigenschaftsfenstereineListederEigenschaften,diedieausgewähltenSteuerelementegemeinsamhabenSomüssenObjektgruppennichteinzelngeändertwerdenDieDirekt,LokalundÜberwachungsfensterDieDirekt,LokalundÜberwachungsfensterhelfenbeimTestlaufDieseFensterdienenzumTestenderProgrammeDasDirektfensterdientzumEingebenundzumAusführenvonProgrammcodezurFehlersucheDasLokalfensterzeigtalledeklariertenVariableninderaktuellenProzedurundderenWerteDasÜberwachungsfensterüberwachtAusdrückeundalarmiertbeimEintretenvonRandbedingungenZurweiterenEinarbeitungempfehleichdieLiteraturhinweiseoderdasaufmeinerWebsiteeingestellteVBALehrkapitelFürunsereProgrammierungsindsienurvonuntergeordneterBedeutungÜbungNeuesProjektanlegenÖffnenSiezunächsteineneueExcelAnwendungLegenSiedanachdieSymbolleisteVisualBasican,sowieunterbeschriebenMitderÖffnungdesVisualBasicEditorsfindenSieimProjektfensterdenderzeitigenNamendesProjektsWennSiediesenanklicken,dannfindenSiedenProjektnamenauchimEigenschaftsfensterunter(Name)wiederMiteinemDoppelklickundeinerneuenEingabekönnenSiediesenändernDieÄnderungsehenSieanschließenddannauchimProjektfensterDiesemBuchProjektgebenwirdenNamenBerechnungenVBAObjekte,Anwendungen,FormulareundModuleObjekte,Anwendungen,FormulareundModuleObjekte,allgemeinDergrundlegendeBegriffindieserEntwicklungsumgebungistdasObjektEinemObjektordnenwirMethoden,EigenschaftenundEreignissezuDieSchreibweisevonObjekt,UnterobjektundMethodeoderEigenschaftist:ObjektUnterobjekt…MethodeoderObjektUnterobjekt…EigenschaftWillmanzBeinerTextBoxaufdemFormularUserFormdenText„DiesisteinTest!“zuweisen,dannschreibtman:UserFormTextBoxText="DiesisteinTest!"Möchteman,dassdieserTextnichtangezeigtwird,dannschreibtman:UserFormTextBoxVisible=FalseEreignissenvonObjektensindinderRegelProzedurenzugeordnetKlicktmanzBmitderlinkenMaustasteaufdenSchaltermitdemNamencmdStarteinesFormulars,sogibtesdazuimCodefensterdesFormularsdieProzedur:PrivateSubcmdStartClick()…EndSubIndieseProzedurschreibtmannunalldieAnweisungen,diedannausgeführtwerdensollen,wenndieSchaltflächeangeklicktwirdGeschiehtdieobereTextzuweisungimFormularUserFormdanngenügteszuschreiben:TextBoxText="DiesisteinTest!"EsmussalsonichtimmerdiegesamteObjekthierarchiegenanntwerden,wenndasObjekteindeutigbestimmtistEbensogibtesgewisseGrundeinstellungen(DefaultWerte),diemaninderAufzählungvonObjektundEigenschaftnichtnennenmussBeieinerTextBoxistdieStandardeinstellungTextundsogenügteszuschreiben:TextBox="DiesisteinTest!"EinführunginVBAObjekteimVisualBasicEditorsindDokumente,Tabellen,Präsentationen,Datenbanken,etcAberauchFenster,Module,Steuerelemente,Statusleisten,Menüelemente,uswGrundsätzlichistzwischenAuflistungenvonObjektenunddenObjektenselbstzuunterscheidenAuflistungenwieWorkbooksundWorksheetsinExcelenthaltenObjekte(WorkbookundWorksheet),dieübereinenNamenodereinenIndexangesprochenwerdenNachfolgendeinigewichtigeaktuellgültigeObjektlisten:xWordDokumenteAuflistungDocuments(Index)ActivatexExcelWorkbooksAuflistungWorkbooks(Index)ActivatexPowerPointPresentationAuflistungPresentation(Index)ActivatexWindowsAuflistungWindows(Index)ActivateUmeinObjekteinersolchenListeanzusprechen,benutztmaneinenIndexSoliefertMsgBoxThisWorkbookSheets()NamedenNamendeszweitenArbeitsblattes(eineEigenschaftdesObjektesSheet)ineinemAusgabefensterDerZugriffaufeinnichtvorhandenesObjekterzeugtdenLaufzeitfehlerAusdiesenListenergebensichdannjenachAnwendungdieObjekte:xApplicationaktivesObjektxFileSearchObjektzumSuchennachDateienxAssistantObjektdesOfficeAssistentenxDocumentWordDokumentxWorkbookExcelArbeitsmappexPresentationObjektklassePowerPointxMsgBoxMeldefensterxInputBoxAnzeigeeinesEingabedialogsObjektenkannmanimEigenschaftsfensterunterNameneinenanderenNamenzuordnenDabeigebenwirdemObjektnameneinPräfix,dasdieObjektartkennzeichnetDiesistnichtzwingendeinzuhalten,dientaberderÜbersichtlichkeitimProgrammcodeEineinmalfestgelegtesPräfixsolltemanauchbeibehaltenBeispiele:xtblTabelle(sheet)xfrmForm(userform)xmodModul(modul)xcomBefehlsschaltfäche(command)Objekte,Anwendungen,FormulareundModuleAnwendungenundMakrosUnterAnwendungensindWordDokumente,ExcelTabellen,OutlookObjekte,PowerPointPräsentationen,etczuverstehenAuchinAnwendungen(ExcelTabellen)lassensichProzedurenprogrammierenodermitderMakroFunktionerzeugenDieMakroFunktionwirdmitEntwicklertoolsMakroaufzeichnengestartetAlleTätigkeitenmitderExcelTabellewerdennun(wiebeieinemRecorder)aufgezeichnetGestopptwirddieAufzeichnungwiedermitEntwicklertoolsAufzeichnungbeendenÜbungMitderMakroFunktioneineKreisflächeberechnenAneinemeinfachenBeispielbetrachtenwirdieMakroFunktionAufunsererdurchdievorherigeAnwendungangelegtenTabellegebenSieanbeliebigerStelleeinenWertalsDurchmessereinesKreiseseinIndiesemBeispielistesdieZelleBBetätigenSiedieEingabemitderEingabetasteDamitistnundieZelleBmarkiertSchaltenSienundieMakroFunktionunterEntwicklungstoolsMakroaufzeichneneinDabeiwirdineinemFensternachdemMakronamengefragtGebenSiehierzBKreiseinNunbestimmenSieinderZelleBdenInhaltderKreisflächemitdemDurchmesserdausBnachderFormel:SdA()GebenSiealsounterBein:=B*B*,AchtenSiebittedarauf,beiderZahlʌeinKommazuverwendenDanachstoppenSiedieMakroaufzeichnungSiehabennuneinMakroerstelltMitjederneuenEingabeimFeldBunddemabschließendenDruckaufdieEingabetaste,erscheintinBdasErgebnisSiekönnendenWertinBauchnurändern(ohneEingabetaste)undmitEntwicklungstoolsMakro(oderAltF)undderMakroauswahlKreisdasMakroaufrufenSieerhaltenwiederumdieFlächeDasMakrofunktioniertauchaufanderenZellenWählenSieeineandereZelleausundtragenSiedortdenDurchmessereinMarkierenSiejetztdieZelledarunterundrufenSieerneutdasMakroKreisüberdieMenüfunktionenaufDasErgebniserscheintindermarkiertenZelleNachderAuswertungwirdüberflüssigerweisedieZelleBmarkiertÖffnenSiejetztbittedenVisualBasicEditorSiewerdenimProjektExplorereinneuesObjektModulentdeckenDieseswurdedurchdieMakroFunktionerzeugtEinDoppelklickaufdiesesObjektimProjektExplorerzeigtIhnendenInhaltimCodefensterSiefindendortdaszuvordefinierteMakroKreisalsProzedurmitetwademdargestelltenInhaltSubKreis()''KreisMakro'Makroam(Datum)vonHaraldNahrstedtaufgezeichnet'ActiveCellFormulaRC="=RC*RC*"Range("B")SelectEndSubZeilen,diemiteinemHochkommabeginnen,sindalsreineKommentarzeilenzubetrachtenDieProzedurbestehtauszweiAnweisungenDieersteAnweisungbeziehtsichaufdieaktiveZelle(ActiveCell)(inunseremFallB)undbenutztdenWertausderZeile(Row)davor(R)unddergleichenSpalte(Column)CDieseEinführunginVBAArtderAdressierungbezeichnetmanalsindirektMangibtalsokeineabsoluteAdresse(B)an,sondernsagt:DieaktuelleZelle(B)–DerVorteilliegtklaraufderHandUnserMakrolässtsichaufjedebeliebigeZelleanwenden,wiezuvorschonausprobiertwurdeDerWert(ausdervorherigenZelle)wirdmitsichselbstmultipliziert,dannmitderKreiskonstantenʌunddurchdividiertDasErgebniswirdinderaktuellenZelle(B)abgelegtDanachwirddieZelleBangesprochenDieAnweisungRange("B")SelectistüberflüssigundmussentferntwerdenNunbenötigenwirfürdieseProzedurnichtgrundsätzlichdasModulWirkönnensienämlichauchdirektindieAnwendungkopierenMarkierenSiedazudiegesamteProzedurinModulundwählenmitderrechtenMaustasteimBefehlsfensterAusschneidenDoppelklickenSienunimProjektExploreraufdasObjektTabelleNunöffnetsicheinneuesCodefenster,nämlichdasdesObjektsTabelleUndindiesemFensterrufenSiemitderrechtenMaustasteerneutdasBefehlsfensteraufundwählenEinfügenSchaltenSienuninderMenüleistedesProjektExplorersaufAnsicht(sieheBild)undSiesehenwiederdieTabelleWennSienuninderMenüleisteunterEntwicklungstoolsMakros(oderALTF)dieÜbersichtvorhandenerMakrosaufrufen,findenSieinderÜbersichtslistedenEintragTabelleKreisDemProzedurnamenwirdalsodasentsprechendeObjektvorangestelltBeideNamenwerdendurcheinenPunktgetrenntGanzimSinnederObjektschreibweise(sieheKapitel)NunistdieseineÜbungundwirbenötigendasModulnichtwirklichMiteinemKlickderrechtenMaustasteaufdiesesObjektimProjektFensteröffnetsicheinBefehlsfensterundSiekönnenModullöschenVielleichtprobierenSienochandereeinfacheMakrosaus,umeinGefühlfürdieWirkungsweisezubekommenWählenSiedazuandereVolumenformelnoderähnlicheBerechnungenDieMakroFunktionkannIhnenbeiderEntwicklungsehrhilfreichseinWollenSiezBeinDiagrammperProzedurerstellen,dannkönnenSiedieszuerstmanuellmittelsMakrodurchführenDensoerhaltenenQuellcodekönnenSiedannIhrenBedürfnissenanpassenSteuerelementeinAnwendungenNunistessehrmühsam,fürdenAufrufeinerFunktionimmerdenMakroBefehlaufzurufenAnwendungen(WordDokument,ExcelArbeitsblatt,)verfügenüberdieMöglichkeit,SteuerelementeaufzunehmenMiteinemKlickaufdieSchaltflächeSteuerelementToolbox(Bild)werdenalleStandardSteuerelementeangezeigtBildFormularSteuerelementeÜbungProzedurmitSchaltflächestartenMarkierenSieimProjektExplorerdieentsprechendeTabelleundschaltenSieinderSymbolleisteaufObjektanzeigen(Bild)KlickenSiezurAnzeigeaufEinfügeninderSteuerelementToolboxWählenSiedasSteuerelementBefehlsschaltflächemiteinemKlickObjekte,Anwendungen,FormulareundModuleausFahrenSienunmitderMausaufdieTabellenOberflächeandieStelle,andereineBefehlsschaltflächeeingefügtwerdensollDerCursorhatnundieFormeinesKreuzesKlickenSiemitderlinkenMaustasteandieStelleaufderTabelle,wodielinkeobereEckederSchaltflächeseinsollHaltenSiedieMaustastegedrücktundfahrenSiesozumrechtenunterenEndederBefehlsschaltflächeWennSienundieMaustasteloslassen,solltenSieeineBefehlsschaltflächemitdemNamenCommandButtonsehenFührenSieaufdieserSchaltflächeeinenDoppelklickaus,schaltetderEditoraufCodedarstellungumundSiesehendieEreignisprozedur:PrivateSubCommandButtonClick()EndSubBeijedemKlickaufdieBefehlsschaltflächeimAnwendungsModus,wirddieseEreignisProzeduraufgerufenFügenSienunmanuellindieseProzedurdenAufrufderTestprozedureinPrivateSubCommandButtonClick()CallKreisEndSubDasCallkanneigentlichentfallen,weildasSystemdenNamenKreiskenntIchtrageaberderÜbersichtlichkeitwegeninallenProzedurendasCallmiteinBeendenSienundenEntwurfsModus(Bild)GebenSieineinerbeliebigenZelleeinenneuenWerteinunddrückenSiedieEingabetaste,damitdiedarunterliegendeZellemarkiertwirdDrückenSiedieBefehlsschaltflächeDamitwirddieProzedurKreisausgeführtDasnachfolgendeBildmachtdiesenVorgangnocheinmalgrafischdeutlichHieristesdieBefehlsschaltflächeStart,diedurchAnklickendieEreignisprozedurStartClickaufruftInteressantistaberauch,dassmitderindirektenAdressierungdieseProzedurfürjedeZelleaufderTabelleanwendbaristProbierenSieauchandereSteuerelementeaus,wiezBdieTextBoxBildAnwendungenundEreignisProzedurenFormulareundSteuerelementeNebendereigentlichenAnwendung(Tabelle)könnenzusätzlichFormularefürdenDialogmitdemAnwenderbenutztwerdenUnterderMenüfunktionEinfügenUserFormstelltderVisualBasicEditoreinneuesFormularbereitundblendetgleichzeitigdieWerkzeugsammlungmitdenvorhandenenSteuerelementeneinSteuerelemente(eineKlassevonObjekten)sinddasAundOderFormularfensterSiesteuerndeneigentlichenProgrammablaufJedesSteuerelementhatbestimmteEigenschaftenEinführunginVBA(EinstellungenundAttribute),dieimEigenschaftsfensterangezeigtwerdenDiedortangegebenenWertelassensichimEntwurfsmodusverändernoderbeimspäterenAblaufdurchWertzuweisungAufSteuerelementelassensichauchverschiedeneAktionenanwendenundmansprichthiervonMethoden(zBActivate,Refresh,Clear,Load,)EinEreignisisteineAktion,dievoneinemSteuerelementerkanntwird(zBMausklick,Tastendruck,)EreignisselassensichdurchEreignisProzedurenbearbeitenBildEinFormularunddieWerkzeugsammlungÜbungFormularzurBerechnungeinerKreisflächeerstellenIndemEigenschaftsfensterzumFormular(UserForm)findenSieeineMengeEigenschaften,dieSiemitdernötigenVorsichtverändernkönnenDortfindenSieauchdieEigenschaftCaptionSiebeinhaltetdenTextfürdieKopfzeiledesFormularsGebenSiehierBerechnungeinerKreisflächeeinNunziehenSiemitderMausdurchAnklickenundFesthalten,ausderWerkzeugsammlungnacheinanderjeweilszweiBezeichnungsf

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/12

vba

仅供在线阅读

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利