VBA kopēšana starpliktuvē

Šis raksts parādīs, kā izmantot VBA, lai kopētu vienumus starpliktuvē.

Var būt laiks, kad mēs vēlamies kopēt informāciju programmā Excel VBA un saglabāt to, lai to izmantotu citā lietojumprogrammā vai citā laikā, kad Excel makro darbība ir pārtraukta. Tiklīdz makro pārtrauc darboties, informācija, kas tiek glabāta mainīgajā vai mainīgajos, pārstāj pastāvēt un to vairs nevar izgūt. Šīs problēmas risināšanas veids būtu šīs informācijas kopēšana starpliktuvē.

Kopēšana starpliktuvē, izmantojot HTML objektu bibliotēku

Vienkāršākais veids, kā izmantot starpliktuvi programmā Excel VBA, ir izsaukt HTML objektu bibliotēku.

1234567 Apakšveikala dati ()Dim varText Kā variantsDim objCP kā objektsvarText = "Kaut kāds nokopēts teksts"Iestatīt objCP = CreateObject ("HtmlFile")objCP.ParentWindow.ClipboardData.SetData "teksts", varTextBeigu apakš

Tā kā mēs izmantojam vēlo saistīšanu, deklarējot mainīgo objCP kā objektu, mums nav jāpievieno atsauce uz Excel, lai šī procedūra darbotos.

Ja mēs tagad pārslēgtos uz savu Excel darblapu un noklikšķinātu uz Ielīmēt, atlasītajā šūnā tiktu ievietots teksts “Daži kopēti dati”.

Ja mēs šo procedūru mainītu par funkciju, mēs varētu nodot kopējamo tekstu kā mainīgo.

12345 Funkcija StoreData (varText As Variant) kā virkneDim objCP kā objektsIestatīt objCP = CreateObject ("HtmlFile")objCP.ParentWindow.ClipboardData.SetData "teksts", varTextBeigu funkcija

Pēc tam šo funkciju mēs varētu izsaukt vairākas reizes mūsu VBA kodā, kad un kad mums ir nepieciešams kopēt tekstu starpliktuvē. Tāpēc teksts nebūtu grūti iekodēts VBA kodā.

123 Sub CopyData ()StoreData "Daži nokopēti teksti"Beigu apakš

Mēs varam arī izmantot HTML objektu, lai atgrieztu tekstu no starpliktuves, ti, ielīmējot. Šim nolūkam mēs izmantojam GetData, nevis SetData metodi.

12345 Funkcija ReturnData ()Dim objCP kā objektsIestatīt objCP = CreateObject ("HtmlFile")ReturnData = objCP.parentWindow.clipboardData.GetData ("teksts")Beigu funkcija

Pēc tam mēs varam izsaukt šo funkciju, lai atgrieztu starpliktuvē saglabātos datus.

123 Sub PasteData ()MsgBox ReturnDataBeigu apakš

Jauks triks būtu divu funkciju apvienošana kopā, lai mēs varētu izmantot vienu un to pašu funkciju datu kopēšanai un ielīmēšanai atkarībā no tā, vai mēs nosūtām datus uz starpliktuvi vai ne, vai arī, ja mēs vēlamies izgūt datus no starpliktuves.

1234567891011 Funkcija StoreOrReturnData (pēc izvēles strText kā virkne) kā virkneDim varText Kā variantsDim objCP kā objektsIestatīt objCP = CreateObject ("HtmlFile")varText = strTextJa strText "" TadobjCP.ParentWindow.ClipboardData.SetData "teksts", varTextCitādiStoreOrReturnData = objCP.ParentWindow.ClipboardData.GetData ("teksts")Beigas JaBeigu funkcija

Iepriekš minētajā kodā mēs varam padarīt mainīgo strText neobligātu - tas nozīmē, ka, ja mēs vēlamies kopēt datus, mēs iekļausim kopējamo tekstu, bet, ja mēs vēlēsimies ielīmēt datus, mēs to izslēgsim.

Pēc tam mēs piešķirsim virknes mainīgo (strText) mainīgajam variantam, lai tas tiktu saglabāts HTML faila objekta SetData metodē.

Lai kopētu datus, mēs varam izmantot šo procedūru, ņemiet vērā, ka mēs iekļaujam kopējamo tekstu.

123 Sub CopyData ()StoreOrReturnData "SomeCopiedText"Beigu apakš

Lai ielīmētu datus, mēs varam izmantot šo procedūru. Ziņojumu lodziņā tiks parādīta starpliktuvē saglabātā vērtība.

123 Sub PasteData ()MsgBox StoreOrReturnDataBeigu apakš

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave