VBA Kopiraj v odložišče

Ta članek bo pokazal, kako uporabiti VBA za kopiranje elementov v odložišče.

Včasih lahko želimo kopirati podatke v Excelu VBA in jih shraniti za uporabo v drugi aplikaciji ali ob drugem času, ko se makro Excel neha izvajati. Ko se makro neha izvajati, informacije, ki so shranjene v spremenljivki ali spremenljivkah, prenehajo obstajati in jih ni več mogoče pridobiti. Način za rešitev te težave bi bil kopiranje teh podatkov v odložišče.

Kopiranje v odložišče z uporabo knjižnice objektov HTML

Najpreprostejši način uporabe odložišča v Excelu VBA je klic knjižnice objektov HTML.

1234567 Sub StoreData ()Zatemni varText kot variantoZatemni objCP kot objektvarText = "Nekaj ​​kopiranega besedila"Nastavi objCP = CreateObject ("HtmlFile")objCP.ParentWindow.ClipboardData.SetData "besedilo", varTextEnd Sub

Ker uporabljamo pozno vezavo z razglasitvijo spremenljivke objCP za objekt, nam za delovanje tega postopka ni treba dodati sklica na Excel.

Če bi zdaj preklopili na delovni list Excel in kliknili Prilepi, bi bilo v izbrano celico vstavljeno besedilo »Nekateri kopirani podatki«.

Če bi ta zgornji postopek spremenili v funkcijo, bi lahko besedilo posneli kot spremenljivko.

12345 Funkcija StoreData (varText kot varianta) kot nizZatemni objCP kot objektNastavi objCP = CreateObject ("HtmlFile")objCP.ParentWindow.ClipboardData.SetData "besedilo", varTextKončana funkcija

To funkcijo bi lahko nato v kodi VBA večkrat poklicali, ko in ko moramo besedilo kopirati v odložišče. Besedilo torej ne bi bilo težko kodirano v kodo VBA.

123 Sub CopyData ()StoreData "Nekaj ​​kopiranega besedila"End Sub

Predmet HTML lahko uporabimo tudi za vrnitev besedila iz odložišča - torej lepljenje. Za to namesto metode SetData uporabljamo GetData.

12345 Funkcija ReturnData ()Zatemni objCP kot objektNastavi objCP = CreateObject ("HtmlFile")ReturnData = objCP.parentWindow.clipboardData.GetData ("besedilo")Končana funkcija

To funkcijo lahko nato pokličemo, da vrnemo podatke, shranjene v odložišču.

123 Sub PasteData ()MsgBox ReturnDataEnd Sub

Dober trik bi bil kombinacija dveh funkcij skupaj, tako da bi lahko isto funkcijo uporabili za kopiranje in lepljenje podatkov, odvisno od tega, ali podatke pošiljamo v odložišče ali ne, ali če želimo podatke pridobiti iz odložišča.

1234567891011 Funkcija StoreOrReturnData (izbirno strText As String) As StringZatemni varText kot variantoZatemni objCP kot objektNastavi objCP = CreateObject ("HtmlFile")varText = strTextČe strText "" PotemobjCP.ParentWindow.ClipboardData.SetData "besedilo", varTextSicer paStoreOrReturnData = objCP.ParentWindow.ClipboardData.GetData ("besedilo")Konec ČeKončana funkcija

V zgornji kodi lahko spremenljivko strText nastavimo kot neobvezno - to pomeni, da bomo, če želimo kopirati podatke, vključili besedilo, ki ga želimo kopirati, če pa želimo prilepiti podatke, ga bomo izključili.

Nato bomo spremenljivki niza (strText) dodelili spremenljivko Variant, da bo shranjena v metodi SetData v datotečnem predmetu HTML.

Za kopiranje podatkov lahko uporabimo ta postopek. Upoštevajte, da vključujemo besedilo za kopiranje.

123 PodkopijaData ()StoreOrReturnData "SomeCopiedText"End Sub

Za prilepitev podatkov lahko uporabimo ta postopek. V sporočilnem polju bo prikazana vrednost, shranjena v odložišču.

123 Sub PasteData ()MsgBox StoreOrReturnDataEnd Sub

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave