Communicating with Word using Excel VBA in Hindi
Makhanlal Chaturvedi University / BCA / VBA programming
Communicating with Word using Excel VBA in Hindi
Communicating with Word using Excel VBA in Hindi
Excel VBA के माध्यम से हम Microsoft Word के साथ बहुत ही आसानी से Communication कर सकते हैं। इसका मतलब यह है कि हम Excel में बैठकर Word को Control कर सकते हैं, जैसे Word File को Open करना, उसमें Excel का Data लिखना, उसे Format करना, Save करना और फिर बंद करना। ये सारी प्रक्रिया Automation कहलाती है और इससे हमारा Manual काम बहुत ही कम हो जाता है।
How to open Word documents using Excel VBA in Hindi
सबसे पहले हमें Word Application को Excel VBA से जोड़ना होता है। इसके लिए हमें Word का Object Create करना होता है। इस Object के माध्यम से ही हम Word में कोई भी Action कर सकते हैं जैसे Word Document Open करना।
- Step 1: Excel में ALT + F11 दबाएं जिससे VBA Editor खुलेगा।
- Step 2: Tools > References में जाकर “Microsoft Word Object Library” को Check करें।
- Step 3: नीचे दिया गया Code डालें:
Sub Open_Word_Document()
Dim wdApp As Object
Dim wdDoc As Object
' Word Application को Create करें
Set wdApp = CreateObject("Word.Application")
' Word को Visible करें
wdApp.Visible = True
' किसी Existing Document को Open करें
Set wdDoc = wdApp.Documents.Open("C:\Users\YourName\Documents\MyWordFile.docx")
End Sub
ऊपर के Code में आप देख सकते हैं कि हम Word Application को Create करते हैं, उसे दिखाते हैं और फिर एक Existing Word File को Open करते हैं। इसमें आप Path को अपनी File के अनुसार बदल सकते हैं।
Writing data from Excel to Word using VBA in Hindi
अब मान लीजिए कि आपको Excel की किसी Sheet से Data उठाकर Word Document में लिखना है, तो आप यह भी कर सकते हैं। चलिए एक उदाहरण से समझते हैं:
Sub Write_Excel_to_Word()
Dim wdApp As Object
Dim wdDoc As Object
Dim excelData As String
' Excel से Data लें (उदाहरण: Sheet1 के A1 सेल से)
excelData = ThisWorkbook.Sheets("Sheet1").Range("A1").Value
' Word को Create करें
Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.Documents.Add
' Word दिखाएं
wdApp.Visible = True
' Word में Text लिखें
wdDoc.Content.Text = "Excel से आया डेटा: " & excelData
End Sub
इस Code के माध्यम से आप Excel से कोई भी Cell का Data Word में Insert कर सकते हैं। ये Method Report या Letter Generate करने के लिए बहुत उपयोगी होती है।
Formatting Word documents through Excel VBA in Hindi
Word में सिर्फ Text डालना ही काफी नहीं होता, Formatting भी बहुत जरूरी होती है ताकि Document अच्छा दिखे। Formatting जैसे Bold, Font Size, Color आदि भी Excel VBA के माध्यम से की जा सकती है।
Sub Format_Word_Text()
Dim wdApp As Object
Dim wdDoc As Object
Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.Documents.Add
wdApp.Visible = True
' Text डालना
wdDoc.Content.Text = "Hello from Excel!"
' Format करना
With wdDoc.Content.Font
.Bold = True
.Size = 16
.Name = "Arial"
.ColorIndex = 6 ' Yellow
End With
End Sub
ऊपर दिए गए Code में हमने Font को Bold, Size 16, Arial Font और Yellow Color में Convert किया है। इसी तरह से आप अन्य Formatting जैसे Italic, Underline, Paragraph Alignment आदि भी कर सकते हैं।
Saving and closing Word files with Excel VBA in Hindi
Word File में काम करने के बाद उसे Save करना और फिर बंद करना भी जरूरी होता है। Excel VBA से हम File को किसी भी नाम से Save कर सकते हैं और फिर Application को Close कर सकते हैं।
Sub Save_Close_Word()
Dim wdApp As Object
Dim wdDoc As Object
' Word Create करें और Content जोड़ें
Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.Documents.Add
wdApp.Visible = True
wdDoc.Content.Text = "Excel VBA से Save और Close किया गया Word File"
' File को Save करें
wdDoc.SaveAs "C:\Users\YourName\Documents\SavedFromExcel.docx"
' File को बंद करें
wdDoc.Close
wdApp.Quit
' Memory से Clear करना
Set wdDoc = Nothing
Set wdApp = Nothing
End Sub
इस Code से आप Word File को किसी भी Custom नाम और Location में Save कर सकते हैं और फिर Word Application को पूरी तरह बंद भी कर सकते हैं।
Extra Tips for Beginners
- Word VBA को Use करने के लिए सबसे पहले Reference जोड़ना जरूरी होता है।
- अगर आप CreateObject method का उपयोग करते हैं तो Late Binding होता है, जिससे आपको Reference जोड़ने की जरूरत नहीं पड़ती।
- File Paths हमेशा Double Quotes में और पूरी Path के साथ लिखें।
- Error Handling जोड़ना एक Good Practice होती है ताकि Code Run करते समय कोई Error आए तो उसे सही तरीके से Handle किया जा सके।
Common Formatting Options
| Formatting Option | Code Example |
|---|---|
| Bold Text | .Bold = True |
| Italic Text | .Italic = True |
| Font Size | .Size = 14 |
| Font Name | .Name = "Calibri" |
| Text Color | .ColorIndex = 3 (Red) |
इस प्रकार से Excel VBA के द्वारा हम Microsoft Word के साथ Powerful Automation कर सकते हैं। आप Reports, Letters, Certificates आदि को Excel से Control करके बहुत सारा Manual Work बचा सकते हैं। यह Beginners के लिए भी बहुत आसान है यदि Step by Step और Logical तरीके से सीखा जाए।
FAQs
Documents.Open method का उपयोग करना होता है। जैसे:Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.Documents.Open("Path\to\file.docx")इसके बाद आप Word को Visible कर सकते हैं
wdApp.Visible = True से।
excelData = Range("A1").Value
wdDoc.Content.Text = excelDataयह तरीका Report या Certificate Generation में बहुत काम आता है।
With wdDoc.Content.Font
.Bold = True
.Size = 14
.Name = "Calibri"
End Withइस Block के माध्यम से Word में Formatting की जाती है।
SaveAs method और बंद करने के लिए Close व Quit का उपयोग करें:wdDoc.SaveAs "C:\MyFile.docx"
wdDoc.Close
wdApp.Quitइसके बाद Object को
Set wdDoc = Nothing से Memory से हटा दें।
CreateObject("Word.Application")), तो Reference जोड़ने की आवश्यकता नहीं होती।