Kontrolējiet Word no Excel, izmantojot VBA programmā Microsoft Excel 2010

Anonim

Daudzas reizes jums ir jākopē dati no Excel faila uz Word dokumentu. To var viegli izdarīt ar makro. Makro atvērs jaunu / esošu vārdu doc, nokopēs saturu un pēc tam saglabās un aizvērs vārdu doc. Redzēsim, kā tas tiek darīts.

Kods, kuru varat izmantot, ir -

Skaidrs variants

Sub CreateNewWordDoc ()
Dim i As Integer
Dim wrdApp kā objekts, wrdDoc kā objekts
Iestatīt wrdApp = CreateObject (“Word.Application”)
wrdApp.Visible = True
Iestatiet wrdDoc = wrdApp.Documents.Add
Ar wrdDoc
Ja i = 1 līdz 100
.Content.InsertAfter “Šeit ir pārbaudes līnijas #piemērs” un i
.Content.InsertPa bekezdésAfter
Tālāk i
Ja Dir (“B: \ Test \ MyNewWordDoc.docx”) “”, tad nogaliniet “B: \ Test \ MyNewWordDoc.docx”
.SaveAs (“B: \ Test \ MyNewWordDoc.docx”)
.Slēgt
Beigt ar
wrdApp. Iziet
Set wrdDoc = Nekas
Iestatīt wrdApp = Nekas
Beigt apakš

Lai kopētu iepriekš minēto kodu savā failā,

  • Nospiediet tastatūras taustiņu kombināciju Alt + F11
  • Kreisajā pusē redzēsit Microsoft Excel objektus
  • Ar peles labo pogu noklikšķiniet un atlasiet Ievietot
  • Pēc tam noklikšķiniet uz moduļa
  • Kopējiet kodu koda logā labajā pusē

Tagad redzēsim, kā šis kods darbojas -

Vispirms mēs deklarējam vajadzīgos mainīgos -i kā veselu skaitli, lai palielinātu katru rindu, kad tā tiek aizpildīta no Excel faila uz vārdu doc. Tad 2 objekta mainīgie wrdApp un wrdDoc, wrdApp ir Word lietojumprogrammas objekts un wrdDoc ir Word dokumenta objekts.

Iestatīt wrdApp = CreateObject (“Word.Application”)

Ja Word jau darbojas jūsu sistēmā,CreateObject izveidos jaunu Word gadījumu. Tātad šī rinda piešķir Word lietojumprogrammai objekta mainīgo wrdApp, kuru varat izmantot vēlāk kodā.

wrdApp.Visible = True

Jaunizveidotais Word eksemplārs nebūs redzams, kad tas tiks izveidots. Lai padarītu to redzamu, jums jāiestata wrdApp.Visible = True, lai tas būtu redzams.

Iestatiet wrdDoc = wrdApp.Documents.Add

Mēs izveidojām jauno Word lietojumprogrammas gadījumu, bet vēl neesam atvēruši tukšu vārdu dokumentu. Tātad šī komanda atvērs jaunu Word dokumentu. Šim jaunajam dokumentam ir piešķirts objekts wrdDoc, lai mēs varētu to izmantot vēlāk kodā.

Ja nevēlaties atvērt jaunu darbgrāmatu, bet atvērt esošu darbgrāmatu, varat šo rindu aizstāt ar

Iestatiet wrdDoc = wrdApp.Documents.Open (“B: \ My Documents \ WordDocs \ Doc1.docx”)

Šī rinda atver esošu Word dokumentu, kas ir saglabāts norādītajā vietā.

Ar wrdDoc…. Beigt ar

Šī ir mūsu “Ar” cilpa, kas pilnībā darbosies ar objektu wrdDoc. Kad esat atvēris šo cilpu, jums vairs nav jāatkārto teksts “wrdDoc” šajā cilpā. Jūs varat sākt tieši ar punktu (“.”) Pirms jebkādiem objektiem, kas saistīti ar wrdDoc. Šī cilpa beidzas ar Beigt ar paziņojums, apgalvojums. Kad paziņojums “Beigt ar” ir ievadīts, jūs nevarat atsaukties uz objektiem pēc wrdDoc, izmantojot tikai “.”.

Ja i = 1 līdz 100
.Content.InsertAfter “Šeit ir pārbaudes līnijas #piemērs” & i
.Content.InsertPa bekezdésAfter
Tālāk i

Šī ir cilne “Par”. Tas tiek palielināts no 1 līdz 100, un katrā solī tas ievieto rindu ar tekstu “Šeit ir testa rindas piemērs” un pēc tam pievieno pieauguma skaitli. Tad tas ievieto rindas pārtraukumu / rindkopas pārtraukumu, lai nākamajā rindiņā tiktu parādīts nākamais palielinājums, piemēram, jauna rindkopa.

Tātad šis process tiks atkārtots 100 reizes, jo cilpas stāvokļi i = 1 līdz 100. Šī ir izeja

Ja Dir (“B: \ Test \ MyNewWordDoc.Docx”) “”, tad nogaliniet “B: \ Test \ MyNewWordDoc.docx”

.SaveAs (“B: \ Test \ MyNewWordDoc.docx”)

.Slēgt

Kad cilne “Par” ir pabeigta, kods pārbaudīs, vai fails MyNewWordDoc.docx pastāv. Ja tas notiks, tas to izdzēsīs. Un tad tas saglabās jauno failu ar tādu pašu nosaukumu un aizvērs failu.

wrdApp. Iziet

Set wrdDoc = Nekas
Iestatīt wrdApp = Nekas

Vārdu lietojumprogramma tiek aizvērta, un pēc tam 2 izveidotie objekti tiks atbrīvoti vai iestatīti uz “Nekas”, lai tiktu atbrīvota šo objektu aizņemtā atmiņa. Šis ir viss kods, kas rūpējas par satura kopēšanu no Excel uz Word.