Kuten nimestä voi päätellä, CreateObject -toimintoa käytetään objektien luomiseen.
Mutta miksi käytämme CreateObject -menetelmää tai -funktiota, jos voimme luoda objektin suoraan käyttämällä uutta avainsanaa?
Se on asiallinen kysymys ja meillä on siihen sopiva vastaus.
Objektin luomista CreateObjectin avulla kutsutaan Myöhäinen sidonta. Myöhäisessä sidonnassa objektien luominen tapahtuu ajon aikana. Siihen ei tarvitse lisätä mitään viittauksia. Tämä tekee VBA -koodista kannettavan.
Jos esimerkiksi luot sovelluksen, joka käsittelee muita sovelluksia ja käytät varhainen sitominen lisäämällä viitteitä ja käyttämällä Uusi avainsana. Myöhemmin siirrät koodin jollekin toiselle koneelle, ja sinun on lisättävä myös viittaukset kyseiseen koneeseen. Mutta jos olet käyttänyt CreateObject -menetelmää muiden sovellusobjektien luomiseen, sinun ei tarvitse lisätä viittauksia muihin koneisiin, jos siirrät tai jaat koodin.
Tässä artikkelissa opimme CreateObject -menetelmästä käyttämällä joitakin esimerkkejä.
CreateObject -funktion syntaksi:
Aseta objektin_nimi = CreateObject (luokan nimi merkkijonona, [palvelimen nimi]) |
luokan nimi merkkijonona: Se on pakollinen muuttuja. Se on merkkijono, joka viittaa sovelluksen nimeen ja objektityyppiin. Luodun objektin sovelluksen nimi ja luokka on ilmoitettava kohdassa AppName.ObjecType. Jos esimerkiksi haluan Word -sovelluksen objektin, kirjoitan "Word.Application". Näemme sen yksityiskohtaisesti esimerkeissä myöhemmin.
[palvelimen nimi]: Se on valinnainen muuttuja. Se on merkkijono sen verkkopalvelimen nimestä, johon objekti luodaan. Jos palvelimen nimi on tyhjä merkkijono (""), käytetään paikallista konetta. Emme käytä tätä tässä luvussa.
Nyt kun tiedämme CreateObject -toiminnon perusteet, käytämme niitä joissakin esimerkeissä:
Esimerkki 1: Avaa Microsoft Word -sovellus Excel VBA: n avulla
Joten jos haluamme käyttää varhaista sidontaa, lisäämme viittauksia sanasovelluksiin Työkalut-> Viitteet -valikon avulla.
Ja koodimme näyttäisi tältä.
Sub OpenWordApp () Himmennä wordApp uutena sanana. Sovellus Dim DimDoc Asiakirjana wordApp.Visible = True wordDoc = wordApp.Documents.Add End Sub
Tämän koodin etuna on, että saat apua VBA: n älykkyydestä ja se näyttää luomasi objektin käytettävissä olevan menetelmän ja ominaisuudet.Se toimii täydellisesti järjestelmässäsi. Mutta jos jaat tämän koodin jollekin toiselle ja he eivät ole lisänneet työkalujen viittausta Microsoftin sanakirjastoon, he saavat virheilmoituksen.
Voit välttää tämän virheen käyttämällä alla olevaa koodia.
Sub OpenWordApp () Himmentää wordApp objektina Aseta wordApp = CreateObject ("Word.Application") Dim wordDoc Objektina wordApp.Visible = True Aseta sanaDoc = wordApp.Documents.Add End Sub
Yllä oleva koodi toimii täydellisesti kaikilla koneilla. Se on kannettava, koska teemme myöhäisen sidonnan käyttämällä CreateObject -menetelmää objektin luomiseksi.
Katsotaanpa toinen esimerkki:
Esimerkki 2: Luo työkirjaobjekti käyttämällä CreateObject -funktiota
Jos työskentelet VBA: n kanssa jonkin aikaa, sinun on luotava työkirjat tai lisättävä ne työkirjoihin käyttämällä uutta avainsanaa. Tässä esimerkissä teemme sen käyttämällä CreateObjectia.
Sub addSheet () 'Ilmoita objekti muuttuja pitää objekti' viite. Dim as Object aiheuttaa myöhäisen sidonnan. Himmennä ExcelSheet objektina Aseta ExcelSheet = CreateObject ("Excel.Sheet") 'Tee Excel näkyväksi sovellusobjektin kautta. ExcelSheet.Application.Visible = True 'Aseta teksti arkin ensimmäiseen soluun. ExcelSheet.Application.Cells (1, 1) .Value = "Tämä on sarake A, rivi 1" Tallenna taulukko C: \ test.xls -hakemistoon. ExcelSheet.SaveAs "C: \ TEST.XLS" 'Sulje Excel sovellusobjektin Quit -menetelmällä. ExcelSheet.Application.Quit 'Vapauta objektimuuttuja. Aseta ExcelSheet = Nothing End Sub
Joten kyllä kaverit, näin käytät CreateObject -menetelmää VBA: ssa. Keskustellaan sen eduista ja haitoista.
CreateObjectin edut objektin luomisessa
CreateObjectin tärkein etu on, että se tekee koodistasi kannettavan (kun kohteen luominen on huolenaihe). Voit jakaa koodin kenelle tahansa murehtimatta siitä, ovatko he lisänneet viittauksen objektiohjelmaan käyttämällä vai eivät.
CreateObjectin puute
CreateObject -menetelmän puutteet ovat:
Sinun on tiedettävä sen luokan rakenne, jota aiot käyttää objektien luomiseen.
Kun olet luonut objektin, olet täysin riippuvainen muististasi objektien menetelmien ja ominaisuuksien suhteen, koska VBA ei tarjoa mitään intellisenseä auttamaan sinua.
Voimme poistaa edellä mainitut puutteet. Minulla on temppu.
Aina kun kirjoitan koodia, joka jaetaan muille, käytän ensimmäistä menetelmää objektien luomiseen (viitteiden lisääminen työkaluista). Tämä auttaa minua kirjoittamaan koodin nopeammin. Kun olen suorittanut VBA -ohjelman suomeksi ja testannut sen, vaihdan uuden menetelmän CreateObject Method -menetelmään. Tämä tekee koodista kannettavan. Voit käyttää tätä temppua.
Joten kyllä kaverit, näin voit käyttää CreateObject -toimintoa objektien luomiseen VBA: ssa. Toivottavasti osasin selittää kaiken. Jos sinulla on kysyttävää tästä artikkelista tai muista VBA -aiheisiin liittyvistä kysymyksistä, kysy minua alla olevasta kommenttiosasta.
Excel VBA UserForms -ohjelman käytön aloittaminen| Selitän, miten Excel -lomake luodaan, kuinka VBA -työkalupakkia käytetään, miten käyttäjän syötteitä käsitellään ja lopuksi kuinka tallennetaan käyttäjän syötteet. Käymme nämä aiheet läpi yhden esimerkin ja vaiheittaisen oppaan avulla.
VBA -muuttujat Excelissä| VBA tarkoittaa Visual Basic for Applications. Se on Microsoftin ohjelmointikieli. Sitä käytetään Microsoft Office -sovelluksissa, kuten MSExcel, MS-Word ja MS-Access, kun taas VBA-muuttujat ovat erityisiä avainsanoja.
Excel VBA -muuttujan laajuus| Kaikilla ohjelmointikielillä on muuttujan käyttöoikeusmäärittelyt, jotka määrittävät, mistä määriteltyä muuttujaa voidaan käyttää. Excel VBA ei ole poikkeus. Myös VBA: ssa on laajuuden määrittäjiä.
ByRef- ja ByVal -argumentit | Kun argumentti välitetään ByRef -argumenttina toiselle ala- tai funktiolle, todellisen muuttujan viite lähetetään. Kaikki muuttujan kopioon tehdyt muutokset näkyvät alkuperäisessä argumentissa.
Poista taulukot ilman vahvistuskehotteita käyttämällä VBA: ta Microsoft Excelissä | Koska poistat arkkeja VBA: n avulla, tiedät mitä olet tekemässä. Haluat kertoa Excelille, ettei se näytä tätä varoitusta ja poista kirottu arkki.
Lisää ja tallenna uusi työkirja VBA: n avulla Microsoft Excel 2016: ssa| Tässä koodissa loimme ensin viittauksen työkirjaobjektiin. Ja sitten alustimme sen uudella työkirjaobjektilla. Tämän lähestymistavan etuna on, että voit tehdä tämän uuden työkirjan toimintoja helposti. Kuten tallentaminen, sulkeminen, poistaminen jne
Näytä viesti Excel VBA -tilapalkissa| Excelin tilariviä voidaan käyttää koodinäytönä. Kun VBA -koodisi on pitkä ja teet useita tehtäviä VBA: n avulla, poistat usein näytön päivityksen käytöstä, jotta et näe sitä välkkyvää.
Poista varoitusviestit käytöstä VBA: n avulla Microsoft Excel 2016: ssa| Tämä koodi ei vain poista VBA -hälytyksiä käytöstä, vaan myös lisää koodin aikatehokkuutta. Katsotaanpa miten.
Suosittuja artikkeleita:
50 Excel -pikanäppäintä tuottavuuden lisäämiseksi | Nopeuta tehtävääsi. Nämä 50 pikanäppäintä tekevät työskentelystäsi entistä nopeampaa Excelissä.
VLOOKUP -toiminto Excelissä | Tämä on yksi eniten käytetyistä ja suosituimmista Excel -toiminnoista, jota käytetään arvon etsimiseen eri alueilta ja arkeilta.
COUNTIF Excel 2016: ssa | Laske arvot olosuhteilla käyttämällä tätä hämmästyttävää toimintoa. Sinun ei tarvitse suodattaa tietoja laskeaksesi tiettyjä arvoja. Laskutoiminto on välttämätön kojelaudan valmistelemiseksi.
SUMIF -toiminnon käyttäminen Excelissä | Tämä on toinen kojelaudan olennainen toiminto. Tämä auttaa sinua laskemaan yhteen arvot tietyissä olosuhteissa.