VBA kopijuoti į iškarpinę

Šiame straipsnyje bus parodyta, kaip naudojant VBA kopijuoti elementus į iškarpinę.

Gali būti laikas, kai norime nukopijuoti informaciją į „Excel VBA“ ir išsaugoti ją naudoti kitoje programoje arba kitu metu, kai „Excel“ makrokomanda nustoja veikti. Kai makrokomanda nustoja veikti, informacija, kuri yra saugoma kintamajame arba kintamajame, nustoja egzistuoti ir jos nebegalima gauti. Šios problemos sprendimas būtų nukopijuoti šią informaciją į iškarpinę.

Kopijavimas į iškarpinę naudojant HTML objektų biblioteką

Paprasčiausias būdas naudoti iškarpinę „Excel VBA“ yra paskambinti į HTML objektų biblioteką.

1234567 Papildoma parduotuvėData ()Dim varText As VariantDim objCP kaip objektasvarText = "Kažkas nukopijuotas tekstas"Nustatyti objCP = CreateObject ("HtmlFile")objCP.ParentWindow.ClipboardData.SetData "tekstas", varTextPabaiga Sub

Kadangi mes naudojame vėlyvą įrišimą, paskelbdami kintamąjį objCP kaip objektą, mums nereikia pridėti nuorodos į „Excel“, kad ši procedūra veiktų.

Jei dabar pereitume prie „Excel“ darbalapio ir spustelėtume Įklijuoti, tekstas „Kai kurie nukopijuoti duomenys“ būtų įterptas į pasirinktą langelį.

Jei šią procedūrą pakeistume į funkciją, tekstą, kurį norime nukopijuoti, perduotume kaip kintamąjį.

12345 Funkcija StoreData (varText As Variant) kaip eilutėDim objCP kaip objektasNustatyti objCP = CreateObject ("HtmlFile")objCP.ParentWindow.ClipboardData.SetData "tekstas", varTextPabaigos funkcija

Tada šią funkciją galėtume skambinti kelis kartus savo VBA kode, kai reikia nukopijuoti tekstą į mainų sritį. Todėl tekstas nebūtų sunkiai užkoduotas VBA kode.

123 Sub CopyData ()„StoreData“ „Nukopijuotas tekstas“Pabaiga Sub

Mes taip pat galime naudoti HTML objektą, norėdami grąžinti tekstą iš iškarpinės, ty įklijuoti. Tam mes naudojame „GetData“, o ne „SetData“ metodą.

12345 Funkcija ReturnData ()Dim objCP kaip objektasNustatyti objCP = CreateObject ("HtmlFile")ReturnData = objCP.parentWindow.clipboardData.GetData ("tekstas")Pabaigos funkcija

Tada galime iškviesti šią funkciją, kad grąžintume iškarpinėje išsaugotus duomenis.

123 Sub PasteData ()„MsgBox ReturnData“Pabaiga Sub

Puikus triukas būtų dviejų funkcijų sujungimas, kad galėtume naudoti tą pačią funkciją duomenims kopijuoti ir įklijuoti, priklausomai nuo to, ar siunčiame duomenis į mainų sritį, ar ne, ar norime gauti duomenis iš iškarpinės.

1234567891011 Funkcija „StoreOrReturnData“ (pasirinktinai „strText as String“) kaip eilutėDim varText As VariantDim objCP kaip objektasNustatyti objCP = CreateObject ("HtmlFile")varText = strTextJei strText "" TadaobjCP.ParentWindow.ClipboardData.SetData "tekstas", varTextKitasStoreOrReturnData = objCP.ParentWindow.ClipboardData.GetData ("tekstas")Pabaiga JeiPabaigos funkcija

Aukščiau esančiame kode mes galime padaryti kintamąjį „strText“ neprivalomą - tai reiškia, kad jei norime kopijuoti duomenis, įtraukiame tekstą, kurį reikia nukopijuoti, bet jei norime įklijuoti duomenis, jo neįtrauksime.

Tada eilutės kintamąjį (strText) priskirsime kintamam variantui, kad jis būtų išsaugotas HTML failo objekto metodu SetData.

Norėdami kopijuoti duomenis, galime naudoti šią procedūrą, atkreipkite dėmesį, kad įtraukiame kopijuojamą tekstą.

123 Sub CopyData ()„StoreOrReturnData“ „SomeCopiedText“Pabaiga Sub

Norėdami įklijuoti duomenis, galime naudoti šią procedūrą. Pranešimų laukelyje bus rodoma iškarpinėje išsaugota vertė.

123 Sub PasteData ()„MsgBox StoreOrReturnData“Pabaiga Sub

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave