Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 03-05-2020, 10:13 PM
SamDsouza SamDsouza is offline Create a Word Document with VBA Windows 10 Create a Word Document with VBA Office 2013
Advanced Beginner
Create a Word Document with VBA
 
Join Date: Aug 2019
Posts: 71
SamDsouza is on a distinguished road
Default

Eduzs
Quote:
Put a Stop (breakpoint) in code at this line to see what's the value of timelen variable and see if it's a valid range of characters at paragraph 17.
How can i Stop or BreakPoint


the code is already as per #1 .Would request you to kindly paste in your Excel VBA and check what happens

Observation was like till Para 13 and 14 it executes Well. FYI Para 13 and 14 consits the data as per the Cell range "Purpose of Remittance to Nepal - Family Maintenance only"
& "Yes / No" respectively.
After Para 14 somehow it does not detect as Paragraph. the issue lies here.
What needs to be done.
Code is already there for your perusal and request you to revert back

Paul Sir,
I Did understand the irritating and Frustrating the boilerplate part.
though i could have created the Template and coded but this time i wanted to enjoy the
food out of the boilerplate
With your guidance Shall learn something new all together in different manner
By the way i checked "Time" was at paragraphs 17 with the following threadVBA Express : Word - Get Line and Paragraph Number



And with above only i put the paragraph as 17 as per coding in #1 but was unsuccessfull
Thanks
SamD
Reply With Quote
  #2  
Old 03-05-2020, 11:32 PM
macropod's Avatar
macropod macropod is offline Create a Word Document with VBA Windows 7 64bit Create a Word Document with VBA Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 22,467
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Quote:
Originally Posted by SamDsouza View Post
I Did understand the irritating and Frustrating the boilerplate part.
though i could have created the Template and coded but this time i wanted to enjoy the
food out of the boilerplate
With your guidance Shall learn something new all together in different manner
Well, if you're going to code the boilerplate text, you might as well do it efficiently. Your code has numerous redundant lines. Try:
Code:
Public Sub msWord_Structure()
Dim wdApp As Object, wdDoc As Object, wdTbl As Object, wdRng As Object, chqNobold As String, StrTxt As String
Dim custNameLen As Long, RefAcNoLen As Long, chqNoLen As Long, MyContactNosLen As Long
Const wdCollapseEnd As Long = 0
Const wdAlignParagraphCenter As Long = 1
Const wdAlignParagraphJustify As Long = 3

chqNobold = txtChqNo.Text
custNameLen = (17 + Len(cmbMyCustName.Text))
RefAcNoLen = (14 + Len(txtRefAcNo.Text))
chqNoLen = (11 + Len(chqNobold))
MyContactNosLen = (11 + Len(txtMyContactNos.Text))

StrTxt = vbCr & "Time " & txtTime.Text & vbCr & vbCr & _
  "Customer Name : " & cmbMyCustName.Text & vbCr & vbCr & _
  "Account No. " & txtRefAcNo.Text & " Chq No. " & txtChqNo.Text & vbCr & vbCr & _
  "Mobile No" & txtMyContactNos.Text & " Tel No." & vbCr & vbCr & _
  "Address of Remitter (Mandatory for Non IDBI Bank Customer)___________________________________" & vbCr & vbCr & _
  "__________________________________________" & " Email ID ______________________________________________" & vbCr & vbCr & _
 vbCr & vbCr & " Incase of NonIDBI Bank Customer Amount of Cash Deposited _____________________________________" & vbCr & vbCr '& " Beneficiary Details :"

On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err Then Set wdApp = CreateObject("Word.Application")
On Error GoTo 0
wdApp.Visible = True

Set wdDoc = wdApp.Documents.Add
With wdDoc.Range
  .Font.Name = "Tahoma"
  .Font.Size = 12
  .Paragraphs.SpaceAfter = 0
  .ParagraphFormat.Alignment = wdAlignParagraphJustify
  .Text = "RTGS/ Request Form" & vbCrLf & vbCrLf & _
      Chr(144) & "RTGS                             " & Chr(144) & "" & _
      vbCrLf & vbCrLf & "For RTGS" & vbCr
  With .Paragraphs(1).Range
    .Font.Size = 16
    .Font.Underline = True
    .ParagraphFormat.Alignment = wdAlignParagraphCenter
  End With
  .Paragraphs.Last.Previous.Range.Font.Underline = True
  Set wdTbl = .Tables.Add(.Characters.Last, 4, 2)
  With wdTbl
    .Columns(1).Width = 300
    .Columns(2).Width = 130
    .Borders.Enable = True
    .Rows.HorizontalPosition = 5
    .Rows.VerticalPosition = 10
    With .Cell(1, 1)
      .Merge wdTbl.Cell(1, 2)
      .Range.Text = "Maximum Limit For Transaction"
      .Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
    End With
    With .Cell(2, 1).Range
      .Text = "IDBI Bank Customer"
      .ParagraphFormat.Alignment = wdAlignParagraphJustify
    End With
    With .Cell(2, 2).Range
      .Text = "No Limit"
      .ParagraphFormat.Alignment = wdAlignParagraphJustify
    End With
    With .Cell(3, 1).Range
      .Text = "Non IDBI Bank Customer & Indo Nepal Remittance"
      .ParagraphFormat.Alignment = 3
    End With
    With .Cell(3, 2).Range
      .Text = "Up to INR 50,000/-"
      .ParagraphFormat.Alignment = wdAlignParagraphJustify
    End With
    With .Cell(4, 1).Range
      .Text = "Purpose of Remittance to Nepal - Family Maintenance only"
      .ParagraphFormat.Alignment = wdAlignParagraphJustify
    End With
    With .Cell(4, 2).Range
      .Text = "Yes / No"
      .ParagraphFormat.Alignment = wdAlignParagraphJustify
    End With
  End With
  .InsertAfter StrTxt
  Set wdRng = .Paragraphs(18).Range
  With wdRng
    .Start = .Start + 5
    .End = .End - 1
    .Font.Bold = True
  End With
End With
End Sub
Quote:
Originally Posted by SamDsouza View Post
After Para 14 somehow it does not detect as Paragraph. the issue lies here.

By the way i checked "Time" was at paragraphs 17 with the following threadVBA Express : Word - Get Line and Paragraph Number

And with above only i put the paragraph as 17 as per coding in #1 but was unsuccessfull
Without wanting to place too fine a point on it, your code was trying to modify the paragraph before you'd created it (i.e. you hadn't written 'txtword' to the document)...
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Create a Word Document with VBA How do I create an index of every word in a document? jbengal Word 5 11-23-2022 02:17 PM
Create a Word Document with VBA Can I create word wizards with Word 2016 to automate document creation? OkiDoki Word 4 09-30-2016 11:41 AM
Create a Word Document with VBA Word 2010 - How to create a fillable document from a boilerplate document sheaters Word 2 05-04-2016 01:57 PM
How to create a special TOC in word document? gn4619 Word VBA 5 04-29-2015 04:25 PM
How to identify whether Word 2007 was used to create a document saved as Word 2003 noviceatwork Word 0 03-08-2012 06:40 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 01:49 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft