Notes in Hindi

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

Excel VBA में Word Document खोलने के लिए पहले Word Application को Create करना होता है और फिर Documents.Open method का उपयोग करना होता है। जैसे:
Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.Documents.Open("Path\to\file.docx")

इसके बाद आप Word को Visible कर सकते हैं wdApp.Visible = True से।
Excel का डेटा Word में भेजने के लिए पहले Excel Sheet से Value लें और फिर Word के Content में Assign करें:
excelData = Range("A1").Value
wdDoc.Content.Text = excelData

यह तरीका Report या Certificate Generation में बहुत काम आता है।
आप Word में Text को Bold, Italic, Font Size, Font Name आदि से Format कर सकते हैं।
With wdDoc.Content.Font
.Bold = True
.Size = 14
.Name = "Calibri"
End With

इस Block के माध्यम से Word में Formatting की जाती है।
Word File को Save करने के लिए SaveAs method और बंद करने के लिए CloseQuit का उपयोग करें:
wdDoc.SaveAs "C:\MyFile.docx"
wdDoc.Close
wdApp.Quit

इसके बाद Object को Set wdDoc = Nothing से Memory से हटा दें।
यदि आप Early Binding का उपयोग कर रहे हैं, तो Tools > References में "Microsoft Word xx.x Object Library" को Select करना जरूरी होता है। लेकिन अगर आप Late Binding कर रहे हैं (जैसे CreateObject("Word.Application")), तो Reference जोड़ने की आवश्यकता नहीं होती।
Word Automation के जरिए Excel से ही Word में Letter, Report, Certificate, Mail Merge आदि Automatically Generate किए जा सकते हैं। इससे Time बचता है और Manual Errors भी कम होते हैं। यह Technique Office Automation के लिए बहुत उपयोगी होती है।

Please Give Us Feedback