A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Word » New Users
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

help with macros



 
 
Thread Tools Display Modes
  #1  
Old May 28th, 2007, 02:11 PM posted to microsoft.public.word.newusers
vandy
external usenet poster
 
Posts: 74
Default help with macros

Hi All.

I have to create a mail merge button which when clicked will merge specific
selected feilds from a word document and create a label tag.


I want to know if this can be automated and done. Ideally the user should be
prompted for what to enter and based on his input the values should be
displayed as a label.

Thanks for your help in advance.
  #2  
Old May 28th, 2007, 02:39 PM posted to microsoft.public.word.newusers
Graham Mayor
external usenet poster
 
Posts: 18,297
Default help with macros

This doesn't sound much like a merge to me? You appear to want to extract
information from a document and create a label from that information? That
being the case, what is the information and how will the macro recognize it
from the document?

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hi All.

I have to create a mail merge button which when clicked will merge
specific selected feilds from a word document and create a label tag.


I want to know if this can be automated and done. Ideally the user
should be prompted for what to enter and based on his input the
values should be displayed as a label.

Thanks for your help in advance.



  #3  
Old May 28th, 2007, 03:49 PM posted to microsoft.public.word.newusers
vandy
external usenet poster
 
Posts: 74
Default help with macros

Hi Graham,

Yes you are right. I need to extract specific field values from a word
document and create a label tag out of it.

I have an inspection report which has project data like Project desc,
project no, Component desc, Dwg no input. I have to extract this information
and create a product tag. Is this possible.
I am not very good at macros. So any macro example which extracts data to
print will be of immense help.

Thanks in advance.


"Graham Mayor" wrote:

This doesn't sound much like a merge to me? You appear to want to extract
information from a document and create a label from that information? That
being the case, what is the information and how will the macro recognize it
from the document?

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hi All.

I have to create a mail merge button which when clicked will merge
specific selected feilds from a word document and create a label tag.


I want to know if this can be automated and done. Ideally the user
should be prompted for what to enter and based on his input the
values should be displayed as a label.

Thanks for your help in advance.




  #4  
Old May 28th, 2007, 05:53 PM posted to microsoft.public.word.newusers
Doug Robbins - Word MVP
external usenet poster
 
Posts: 8,239
Default help with macros

You would have to advise how the data is arranged in the reports, is the
data always arranged in that way, etc. before anyone could suggest a macro
to you.

You might want to think however about designing the reports so that the data
extraction is facilitated.

See

http://www.mousetrax.com/techpage.html#autoforms


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"vandy" wrote in message
...
Hi Graham,

Yes you are right. I need to extract specific field values from a word
document and create a label tag out of it.

I have an inspection report which has project data like Project desc,
project no, Component desc, Dwg no input. I have to extract this
information
and create a product tag. Is this possible.
I am not very good at macros. So any macro example which extracts data to
print will be of immense help.

Thanks in advance.


"Graham Mayor" wrote:

This doesn't sound much like a merge to me? You appear to want to extract
information from a document and create a label from that information?
That
being the case, what is the information and how will the macro recognize
it
from the document?

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hi All.

I have to create a mail merge button which when clicked will merge
specific selected feilds from a word document and create a label tag.


I want to know if this can be automated and done. Ideally the user
should be prompted for what to enter and based on his input the
values should be displayed as a label.

Thanks for your help in advance.






  #5  
Old May 28th, 2007, 07:55 PM posted to microsoft.public.word.newusers
vandy
external usenet poster
 
Posts: 74
Default help with macros

Hello Doug,

Thanks for your reply. I have gone through the Auto Form document and would
require some help.

Bear with me I am not very good at macros and dont totally understand the
concept of bookmark. If I am not wrong Bookmark gives you the location of
each feild typed in.


With my limited knowlege i have created a form which has input text feilds
to store information of the user. I am attempting to extract these values. I
have named each text box form feild with a book mark.

PROJECT DESCRIPTION : [ ] COMPONENT [ ]

MPI NO [ ] DRAWING# [ ] REV NO [ ] ASSEMBLY DWG [ ]

TOT QTY [ ]

each square bracket representing a text form feild with bookmarks for each
feild. Now how to extract the values for these once the user inputs them. The
order of these entries do not change. Based on the entries i have to create
a product tag for merging labels. Is this possible. How do i proceed from
here.


"Doug Robbins - Word MVP" wrote:

You would have to advise how the data is arranged in the reports, is the
data always arranged in that way, etc. before anyone could suggest a macro
to you.

You might want to think however about designing the reports so that the data
extraction is facilitated.

See

http://www.mousetrax.com/techpage.html#autoforms


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"vandy" wrote in message
...
Hi Graham,

Yes you are right. I need to extract specific field values from a word
document and create a label tag out of it.

I have an inspection report which has project data like Project desc,
project no, Component desc, Dwg no input. I have to extract this
information
and create a product tag. Is this possible.
I am not very good at macros. So any macro example which extracts data to
print will be of immense help.

Thanks in advance.


"Graham Mayor" wrote:

This doesn't sound much like a merge to me? You appear to want to extract
information from a document and create a label from that information?
That
being the case, what is the information and how will the macro recognize
it
from the document?

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hi All.

I have to create a mail merge button which when clicked will merge
specific selected feilds from a word document and create a label tag.


I want to know if this can be automated and done. Ideally the user
should be prompted for what to enter and based on his input the
values should be displayed as a label.

Thanks for your help in advance.






  #6  
Old May 29th, 2007, 06:05 AM posted to microsoft.public.word.newusers
Graham Mayor
external usenet poster
 
Posts: 18,297
Default help with macros

http://gregmaxey.mvps.org/Extract_Form_Data.htm will show you how to extract
data from a form, however, if the object of the exercise is for a user to
input data into the form and produce a label, then the following macro will
do that (with certain provisos)

Sub GetContent()
Dim f1, f2, f3, f4, f5, f6, f7, sLayout As String
Dim iC, iR As Integer
Dim bProtected As Boolean

'Unprotect the file
If ActiveDocument.ProtectionType wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
'Get the field content
f1 = ActiveDocument.FormFields("Text1").Result
f2 = ActiveDocument.FormFields("Text2").Result
f3 = ActiveDocument.FormFields("Text3").Result
f4 = ActiveDocument.FormFields("Text4").Result
f5 = ActiveDocument.FormFields("Text5").Result
f6 = ActiveDocument.FormFields("Text6").Result
f7 = ActiveDocument.FormFields("Text7").Result
'assemble the content with associated text
sLayout = "PRODUCT DESCRIPTION " & f1 & " COMPONENT " & f2 _
& vbCr & "MPI No " & f3 & " DRAWING# " & f4 _
& " REV NO " & f5 & " ASSEMBLY DWG " & f6 _
& vbCr & "TOT QTY " & f7
'Choose the label position
Rows:
iR = InputBox("Print label on which row?", "Labels Row", 1)
If iR 7 Then 'edit number to match label stock
MsgBox "There are only seven rows!", vbCritical, "Label Rows"
GoTo Rows:
End If
Columns:
iC = InputBox("Print label in which column?", "Labels Column", 1)
If iR 2 Then 'edit number to match label stock
MsgBox "There are only 2 columns!", vbCritical, "Label Columns"
GoTo Columns:
End If
'Print the label
Application.MailingLabel.PrintOut Name:="AE (2x7)", Address:=sLayout, _
ExtractAddress:=False, SingleLabel:=True, _
Row:=iR, Column:=iC
'Reprotect the document.
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=""
End If
End Sub


http://www.gmayor.com/installing_macro.htm
The label pattern - here a custom label on my PC is
AE (2x7)
This name must be changed to match the label format you are using.
To get the correct label name record a macro of printing anything to that
label format and extract the name from the resulting macro.
That label must be large enough to fit the text as shown in the message
prompt.
Edit the macro to match your label format (rows and columns)
The fieldnames shown in f1 to f7 are the default names. If you have named
the field bookmarks differently to give more meaningful descriptions, you
will have to change the bookmark names Text1-7


--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hello Doug,

Thanks for your reply. I have gone through the Auto Form document and
would require some help.

Bear with me I am not very good at macros and dont totally understand
the concept of bookmark. If I am not wrong Bookmark gives you the
location of each feild typed in.


With my limited knowlege i have created a form which has input text
feilds to store information of the user. I am attempting to extract
these values. I have named each text box form feild with a book mark.

PROJECT DESCRIPTION : [ ] COMPONENT [ ]

MPI NO [ ] DRAWING# [ ] REV NO [ ] ASSEMBLY DWG [ ]

TOT QTY [ ]

each square bracket representing a text form feild with bookmarks for
each feild. Now how to extract the values for these once the user
inputs them. The order of these entries do not change. Based on the
entries i have to create a product tag for merging labels. Is this
possible. How do i proceed from here.


"Doug Robbins - Word MVP" wrote:

You would have to advise how the data is arranged in the reports, is
the data always arranged in that way, etc. before anyone could
suggest a macro to you.

You might want to think however about designing the reports so that
the data extraction is facilitated.

See

http://www.mousetrax.com/techpage.html#autoforms


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"vandy" wrote in message
...
Hi Graham,

Yes you are right. I need to extract specific field values from a
word document and create a label tag out of it.

I have an inspection report which has project data like Project
desc, project no, Component desc, Dwg no input. I have to extract
this information
and create a product tag. Is this possible.
I am not very good at macros. So any macro example which extracts
data to print will be of immense help.

Thanks in advance.


"Graham Mayor" wrote:

This doesn't sound much like a merge to me? You appear to want to
extract information from a document and create a label from that
information? That
being the case, what is the information and how will the macro
recognize it
from the document?

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hi All.

I have to create a mail merge button which when clicked will merge
specific selected feilds from a word document and create a label
tag.


I want to know if this can be automated and done. Ideally the user
should be prompted for what to enter and based on his input the
values should be displayed as a label.

Thanks for your help in advance.



  #7  
Old May 29th, 2007, 02:34 PM posted to microsoft.public.word.newusers
vandy
external usenet poster
 
Posts: 74
Default help with macros

Hello Graham,

Thanks a ton for the macros. I am facing some problems when i do this.

1) the printer while printing labels is by Stack byPass as defualt so the
printer always gives me an error msg.

2) Reg. size
Application.MailingLabel.PrintOut Name:="AE (2x7)", Address:=sLayout, _
ExtractAddress:=False, SingleLabel:=True, _


I would be using ( 4" X 2" ) 5263 avery std. labels should I mention this
here I foresee labels of different sizes used .

3)If i need to control the no of print copies as we see in the normal print
command can i do this with a macro.

4) when i protect the form and enter values i cannot run the macro. I
unprotect the form and run the macro.

5) i have assigned assigned bookmarks from Text1 to Text7 to the form
feilds, is this correct.

Please bear with me if these questions are real basic but I am beginning to
understand the power of macros and its automation capabilities and attempting
to grasp the concept.


thanks





"Graham Mayor" wrote:

http://gregmaxey.mvps.org/Extract_Form_Data.htm will show you how to extract
data from a form, however, if the object of the exercise is for a user to
input data into the form and produce a label, then the following macro will
do that (with certain provisos)

Sub GetContent()
Dim f1, f2, f3, f4, f5, f6, f7, sLayout As String
Dim iC, iR As Integer
Dim bProtected As Boolean

'Unprotect the file
If ActiveDocument.ProtectionType wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
'Get the field content
f1 = ActiveDocument.FormFields("Text1").Result
f2 = ActiveDocument.FormFields("Text2").Result
f3 = ActiveDocument.FormFields("Text3").Result
f4 = ActiveDocument.FormFields("Text4").Result
f5 = ActiveDocument.FormFields("Text5").Result
f6 = ActiveDocument.FormFields("Text6").Result
f7 = ActiveDocument.FormFields("Text7").Result
'assemble the content with associated text
sLayout = "PRODUCT DESCRIPTION " & f1 & " COMPONENT " & f2 _
& vbCr & "MPI No " & f3 & " DRAWING# " & f4 _
& " REV NO " & f5 & " ASSEMBLY DWG " & f6 _
& vbCr & "TOT QTY " & f7
'Choose the label position
Rows:
iR = InputBox("Print label on which row?", "Labels Row", 1)
If iR 7 Then 'edit number to match label stock
MsgBox "There are only seven rows!", vbCritical, "Label Rows"
GoTo Rows:
End If
Columns:
iC = InputBox("Print label in which column?", "Labels Column", 1)
If iR 2 Then 'edit number to match label stock
MsgBox "There are only 2 columns!", vbCritical, "Label Columns"
GoTo Columns:
End If
'Print the label
Application.MailingLabel.PrintOut Name:="AE (2x7)", Address:=sLayout, _
ExtractAddress:=False, SingleLabel:=True, _
Row:=iR, Column:=iC
'Reprotect the document.
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=""
End If
End Sub


http://www.gmayor.com/installing_macro.htm
The label pattern - here a custom label on my PC is
AE (2x7)
This name must be changed to match the label format you are using.
To get the correct label name record a macro of printing anything to that
label format and extract the name from the resulting macro.
That label must be large enough to fit the text as shown in the message
prompt.
Edit the macro to match your label format (rows and columns)
The fieldnames shown in f1 to f7 are the default names. If you have named
the field bookmarks differently to give more meaningful descriptions, you
will have to change the bookmark names Text1-7


--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hello Doug,

Thanks for your reply. I have gone through the Auto Form document and
would require some help.

Bear with me I am not very good at macros and dont totally understand
the concept of bookmark. If I am not wrong Bookmark gives you the
location of each feild typed in.


With my limited knowlege i have created a form which has input text
feilds to store information of the user. I am attempting to extract
these values. I have named each text box form feild with a book mark.

PROJECT DESCRIPTION : [ ] COMPONENT [ ]

MPI NO [ ] DRAWING# [ ] REV NO [ ] ASSEMBLY DWG [ ]

TOT QTY [ ]

each square bracket representing a text form feild with bookmarks for
each feild. Now how to extract the values for these once the user
inputs them. The order of these entries do not change. Based on the
entries i have to create a product tag for merging labels. Is this
possible. How do i proceed from here.


"Doug Robbins - Word MVP" wrote:

You would have to advise how the data is arranged in the reports, is
the data always arranged in that way, etc. before anyone could
suggest a macro to you.

You might want to think however about designing the reports so that
the data extraction is facilitated.

See

http://www.mousetrax.com/techpage.html#autoforms


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"vandy" wrote in message
...
Hi Graham,

Yes you are right. I need to extract specific field values from a
word document and create a label tag out of it.

I have an inspection report which has project data like Project
desc, project no, Component desc, Dwg no input. I have to extract
this information
and create a product tag. Is this possible.
I am not very good at macros. So any macro example which extracts
data to print will be of immense help.

Thanks in advance.


"Graham Mayor" wrote:

This doesn't sound much like a merge to me? You appear to want to
extract information from a document and create a label from that
information? That
being the case, what is the information and how will the macro
recognize it
from the document?

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hi All.

I have to create a mail merge button which when clicked will merge
specific selected feilds from a word document and create a label
tag.


I want to know if this can be automated and done. Ideally the user
should be prompted for what to enter and based on his input the
values should be displayed as a label.

Thanks for your help in advance.




  #8  
Old May 29th, 2007, 03:19 PM posted to microsoft.public.word.newusers
Graham Mayor
external usenet poster
 
Posts: 18,297
Default help with macros

To overcome the variables try the following:

1. The revised version below creates a new label document, so you can print
as many labels as you like on whatever printer you have available.
2. The default label size is 5263, but you can insert another number if you
change this.
3. See 1
4. Run the macro from a toolbar button or better still on exit from the last
form field. The macro will then unlock and lock the form.
5. It doesn't matter what you call the form field bookmarks as long as the
names are echoed in the macro Text1 to 7 are what I used.

Sub GetContent()
Dim f1, f2, f3, f4, f5, f6, f7, sLayout As String
Dim strLabel As String
Dim bProtected As Boolean

'Unprotect the file
If ActiveDocument.ProtectionType wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
'Get the field content
f1 = ActiveDocument.FormFields("Text1").Result
f2 = ActiveDocument.FormFields("Text2").Result
f3 = ActiveDocument.FormFields("Text3").Result
f4 = ActiveDocument.FormFields("Text4").Result
f5 = ActiveDocument.FormFields("Text5").Result
f6 = ActiveDocument.FormFields("Text6").Result
f7 = ActiveDocument.FormFields("Text7").Result
'assemble the content with associated text
sLayout = "PRODUCT DESCRIPTION " & f1 & " COMPONENT " & f2 _
& vbCr & "MPI No " & f3 & " DRAWING# " & f4 _
& " REV NO " & f5 & " ASSEMBLY DWG " & f6 _
& vbCr & "TOT QTY " & f7
'Pick the label type
strLabel = InputBox("Label stock number?", "Labels", 5263)
'Create the label
Application.MailingLabel.CreateNewDocument Name:=strLabel, Address:=sLayout
'Reprotect the document.
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=""
End If
End Sub






vandy wrote:
Hello Graham,

Thanks a ton for the macros. I am facing some problems when i do this.

1) the printer while printing labels is by Stack byPass as defualt so
the printer always gives me an error msg.

2) Reg. size
Application.MailingLabel.PrintOut Name:="AE (2x7)", Address:=sLayout,
_
ExtractAddress:=False, SingleLabel:=True, _


I would be using ( 4" X 2" ) 5263 avery std. labels should I mention
this here I foresee labels of different sizes used .

3)If i need to control the no of print copies as we see in the normal
print command can i do this with a macro.

4) when i protect the form and enter values i cannot run the macro. I
unprotect the form and run the macro.

5) i have assigned assigned bookmarks from Text1 to Text7 to the form
feilds, is this correct.

Please bear with me if these questions are real basic but I am
beginning to understand the power of macros and its automation
capabilities and attempting to grasp the concept.


thanks





"Graham Mayor" wrote:

http://gregmaxey.mvps.org/Extract_Form_Data.htm will show you how to
extract data from a form, however, if the object of the exercise is
for a user to input data into the form and produce a label, then the
following macro will do that (with certain provisos)

Sub GetContent()
Dim f1, f2, f3, f4, f5, f6, f7, sLayout As String
Dim iC, iR As Integer
Dim bProtected As Boolean

'Unprotect the file
If ActiveDocument.ProtectionType wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
'Get the field content
f1 = ActiveDocument.FormFields("Text1").Result
f2 = ActiveDocument.FormFields("Text2").Result
f3 = ActiveDocument.FormFields("Text3").Result
f4 = ActiveDocument.FormFields("Text4").Result
f5 = ActiveDocument.FormFields("Text5").Result
f6 = ActiveDocument.FormFields("Text6").Result
f7 = ActiveDocument.FormFields("Text7").Result
'assemble the content with associated text
sLayout = "PRODUCT DESCRIPTION " & f1 & " COMPONENT " & f2 _
& vbCr & "MPI No " & f3 & " DRAWING# " & f4 _
& " REV NO " & f5 & " ASSEMBLY DWG " & f6 _
& vbCr & "TOT QTY " & f7
'Choose the label position
Rows:
iR = InputBox("Print label on which row?", "Labels Row", 1)
If iR 7 Then 'edit number to match label stock
MsgBox "There are only seven rows!", vbCritical, "Label Rows"
GoTo Rows:
End If
Columns:
iC = InputBox("Print label in which column?", "Labels Column", 1)
If iR 2 Then 'edit number to match label stock
MsgBox "There are only 2 columns!", vbCritical, "Label Columns"
GoTo Columns:
End If
'Print the label
Application.MailingLabel.PrintOut Name:="AE (2x7)",
Address:=sLayout, _ ExtractAddress:=False,
SingleLabel:=True, _ Row:=iR, Column:=iC
'Reprotect the document.
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=""
End If
End Sub


http://www.gmayor.com/installing_macro.htm
The label pattern - here a custom label on my PC is
AE (2x7)
This name must be changed to match the label format you are using.
To get the correct label name record a macro of printing anything to
that label format and extract the name from the resulting macro.
That label must be large enough to fit the text as shown in the
message prompt.
Edit the macro to match your label format (rows and columns)
The fieldnames shown in f1 to f7 are the default names. If you have
named the field bookmarks differently to give more meaningful
descriptions, you will have to change the bookmark names Text1-7


--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hello Doug,

Thanks for your reply. I have gone through the Auto Form document
and would require some help.

Bear with me I am not very good at macros and dont totally
understand the concept of bookmark. If I am not wrong Bookmark
gives you the location of each feild typed in.


With my limited knowlege i have created a form which has input text
feilds to store information of the user. I am attempting to extract
these values. I have named each text box form feild with a book
mark.

PROJECT DESCRIPTION : [ ] COMPONENT [ ]

MPI NO [ ] DRAWING# [ ] REV NO [ ] ASSEMBLY DWG [ ]

TOT QTY [ ]

each square bracket representing a text form feild with bookmarks
for each feild. Now how to extract the values for these once the
user inputs them. The order of these entries do not change. Based
on the entries i have to create a product tag for merging labels.
Is this possible. How do i proceed from here.


"Doug Robbins - Word MVP" wrote:

You would have to advise how the data is arranged in the reports,
is the data always arranged in that way, etc. before anyone could
suggest a macro to you.

You might want to think however about designing the reports so that
the data extraction is facilitated.

See

http://www.mousetrax.com/techpage.html#autoforms


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of
my services on a paid consulting basis.

Doug Robbins - Word MVP

"vandy" wrote in message
...
Hi Graham,

Yes you are right. I need to extract specific field values from a
word document and create a label tag out of it.

I have an inspection report which has project data like Project
desc, project no, Component desc, Dwg no input. I have to extract
this information
and create a product tag. Is this possible.
I am not very good at macros. So any macro example which extracts
data to print will be of immense help.

Thanks in advance.


"Graham Mayor" wrote:

This doesn't sound much like a merge to me? You appear to want to
extract information from a document and create a label from that
information? That
being the case, what is the information and how will the macro
recognize it
from the document?

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hi All.

I have to create a mail merge button which when clicked will
merge specific selected feilds from a word document and create
a label tag.


I want to know if this can be automated and done. Ideally the
user should be prompted for what to enter and based on his
input the values should be displayed as a label.

Thanks for your help in advance.



  #9  
Old May 29th, 2007, 04:34 PM posted to microsoft.public.word.newusers
vandy
external usenet poster
 
Posts: 74
Default help with macros

Hello Graham,

This macro code works beautifully. The labels are getting printed the way it
should be. I am still trying to overcome a printer word problem.

In word during mail merge when you select avery shipping label option the
Laser and ink jet tray shows systemBypass to allow manual feed.

When i run this macro the printer detects labels are being printed and gives
an error.I manually select auto paper size A4 and the data is printed. I
tried putting the label in the tray but it did not work either. It flashes
with Staybypass option. Is there any way a default paper tray can be
selected. We use printers in remote location and are looking at getting a
dedicated printer for this purpose.

Can the user select the tray from which he wants to print might be that way
we can work around this problem.

"Graham Mayor" wrote:

To overcome the variables try the following:

1. The revised version below creates a new label document, so you can print
as many labels as you like on whatever printer you have available.
2. The default label size is 5263, but you can insert another number if you
change this.
3. See 1
4. Run the macro from a toolbar button or better still on exit from the last
form field. The macro will then unlock and lock the form.
5. It doesn't matter what you call the form field bookmarks as long as the
names are echoed in the macro Text1 to 7 are what I used.

Sub GetContent()
Dim f1, f2, f3, f4, f5, f6, f7, sLayout As String
Dim strLabel As String
Dim bProtected As Boolean

'Unprotect the file
If ActiveDocument.ProtectionType wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
'Get the field content
f1 = ActiveDocument.FormFields("Text1").Result
f2 = ActiveDocument.FormFields("Text2").Result
f3 = ActiveDocument.FormFields("Text3").Result
f4 = ActiveDocument.FormFields("Text4").Result
f5 = ActiveDocument.FormFields("Text5").Result
f6 = ActiveDocument.FormFields("Text6").Result
f7 = ActiveDocument.FormFields("Text7").Result
'assemble the content with associated text
sLayout = "PRODUCT DESCRIPTION " & f1 & " COMPONENT " & f2 _
& vbCr & "MPI No " & f3 & " DRAWING# " & f4 _
& " REV NO " & f5 & " ASSEMBLY DWG " & f6 _
& vbCr & "TOT QTY " & f7
'Pick the label type
strLabel = InputBox("Label stock number?", "Labels", 5263)
'Create the label
Application.MailingLabel.CreateNewDocument Name:=strLabel, Address:=sLayout
'Reprotect the document.
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=""
End If
End Sub






vandy wrote:
Hello Graham,

Thanks a ton for the macros. I am facing some problems when i do this.

1) the printer while printing labels is by Stack byPass as defualt so
the printer always gives me an error msg.

2) Reg. size
Application.MailingLabel.PrintOut Name:="AE (2x7)", Address:=sLayout,
_
ExtractAddress:=False, SingleLabel:=True, _


I would be using ( 4" X 2" ) 5263 avery std. labels should I mention
this here I foresee labels of different sizes used .

3)If i need to control the no of print copies as we see in the normal
print command can i do this with a macro.

4) when i protect the form and enter values i cannot run the macro. I
unprotect the form and run the macro.

5) i have assigned assigned bookmarks from Text1 to Text7 to the form
feilds, is this correct.

Please bear with me if these questions are real basic but I am
beginning to understand the power of macros and its automation
capabilities and attempting to grasp the concept.


thanks





"Graham Mayor" wrote:

http://gregmaxey.mvps.org/Extract_Form_Data.htm will show you how to
extract data from a form, however, if the object of the exercise is
for a user to input data into the form and produce a label, then the
following macro will do that (with certain provisos)

Sub GetContent()
Dim f1, f2, f3, f4, f5, f6, f7, sLayout As String
Dim iC, iR As Integer
Dim bProtected As Boolean

'Unprotect the file
If ActiveDocument.ProtectionType wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
'Get the field content
f1 = ActiveDocument.FormFields("Text1").Result
f2 = ActiveDocument.FormFields("Text2").Result
f3 = ActiveDocument.FormFields("Text3").Result
f4 = ActiveDocument.FormFields("Text4").Result
f5 = ActiveDocument.FormFields("Text5").Result
f6 = ActiveDocument.FormFields("Text6").Result
f7 = ActiveDocument.FormFields("Text7").Result
'assemble the content with associated text
sLayout = "PRODUCT DESCRIPTION " & f1 & " COMPONENT " & f2 _
& vbCr & "MPI No " & f3 & " DRAWING# " & f4 _
& " REV NO " & f5 & " ASSEMBLY DWG " & f6 _
& vbCr & "TOT QTY " & f7
'Choose the label position
Rows:
iR = InputBox("Print label on which row?", "Labels Row", 1)
If iR 7 Then 'edit number to match label stock
MsgBox "There are only seven rows!", vbCritical, "Label Rows"
GoTo Rows:
End If
Columns:
iC = InputBox("Print label in which column?", "Labels Column", 1)
If iR 2 Then 'edit number to match label stock
MsgBox "There are only 2 columns!", vbCritical, "Label Columns"
GoTo Columns:
End If
'Print the label
Application.MailingLabel.PrintOut Name:="AE (2x7)",
Address:=sLayout, _ ExtractAddress:=False,
SingleLabel:=True, _ Row:=iR, Column:=iC
'Reprotect the document.
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=""
End If
End Sub


http://www.gmayor.com/installing_macro.htm
The label pattern - here a custom label on my PC is
AE (2x7)
This name must be changed to match the label format you are using.
To get the correct label name record a macro of printing anything to
that label format and extract the name from the resulting macro.
That label must be large enough to fit the text as shown in the
message prompt.
Edit the macro to match your label format (rows and columns)
The fieldnames shown in f1 to f7 are the default names. If you have
named the field bookmarks differently to give more meaningful
descriptions, you will have to change the bookmark names Text1-7


--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hello Doug,

Thanks for your reply. I have gone through the Auto Form document
and would require some help.

Bear with me I am not very good at macros and dont totally
understand the concept of bookmark. If I am not wrong Bookmark
gives you the location of each feild typed in.


With my limited knowlege i have created a form which has input text
feilds to store information of the user. I am attempting to extract
these values. I have named each text box form feild with a book
mark.

PROJECT DESCRIPTION : [ ] COMPONENT [ ]

MPI NO [ ] DRAWING# [ ] REV NO [ ] ASSEMBLY DWG [ ]

TOT QTY [ ]

each square bracket representing a text form feild with bookmarks
for each feild. Now how to extract the values for these once the
user inputs them. The order of these entries do not change. Based
on the entries i have to create a product tag for merging labels.
Is this possible. How do i proceed from here.


"Doug Robbins - Word MVP" wrote:

You would have to advise how the data is arranged in the reports,
is the data always arranged in that way, etc. before anyone could
suggest a macro to you.

You might want to think however about designing the reports so that
the data extraction is facilitated.

See

http://www.mousetrax.com/techpage.html#autoforms


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of
my services on a paid consulting basis.

Doug Robbins - Word MVP

"vandy" wrote in message
...
Hi Graham,

Yes you are right. I need to extract specific field values from a
word document and create a label tag out of it.

I have an inspection report which has project data like Project
desc, project no, Component desc, Dwg no input. I have to extract
this information
and create a product tag. Is this possible.
I am not very good at macros. So any macro example which extracts
data to print will be of immense help.

Thanks in advance.


"Graham Mayor" wrote:

This doesn't sound much like a merge to me? You appear to want to
extract information from a document and create a label from that
information? That
being the case, what is the information and how will the macro
recognize it
from the document?

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hi All.

I have to create a mail merge button which when clicked will
merge specific selected feilds from a word document and create
a label tag.


I want to know if this can be automated and done. Ideally the
user should be prompted for what to enter and based on his
input the values should be displayed as a label.

Thanks for your help in advance.




  #10  
Old May 29th, 2007, 05:03 PM posted to microsoft.public.word.newusers
Graham Mayor
external usenet poster
 
Posts: 18,297
Default help with macros

You can select the label tray from the print dialog - you should also be
able to edit the tray from the envelope/label dialog - options.
You can do any of this by macro if you know the parameters - see the
examples for selectring alternative printers and/or trays at
http://www.gmayor.com/fax_from_word.htm

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org



vandy wrote:
Hello Graham,

This macro code works beautifully. The labels are getting printed the
way it should be. I am still trying to overcome a printer word
problem.

In word during mail merge when you select avery shipping label option
the Laser and ink jet tray shows systemBypass to allow manual feed.

When i run this macro the printer detects labels are being printed
and gives an error.I manually select auto paper size A4 and the data
is printed. I tried putting the label in the tray but it did not work
either. It flashes with Staybypass option. Is there any way a default
paper tray can be selected. We use printers in remote location and
are looking at getting a dedicated printer for this purpose.

Can the user select the tray from which he wants to print might be
that way we can work around this problem.

"Graham Mayor" wrote:

To overcome the variables try the following:

1. The revised version below creates a new label document, so you
can print as many labels as you like on whatever printer you have
available.
2. The default label size is 5263, but you can insert another number
if you change this.
3. See 1
4. Run the macro from a toolbar button or better still on exit from
the last form field. The macro will then unlock and lock the form.
5. It doesn't matter what you call the form field bookmarks as long
as the names are echoed in the macro Text1 to 7 are what I used.

Sub GetContent()
Dim f1, f2, f3, f4, f5, f6, f7, sLayout As String
Dim strLabel As String
Dim bProtected As Boolean

'Unprotect the file
If ActiveDocument.ProtectionType wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
'Get the field content
f1 = ActiveDocument.FormFields("Text1").Result
f2 = ActiveDocument.FormFields("Text2").Result
f3 = ActiveDocument.FormFields("Text3").Result
f4 = ActiveDocument.FormFields("Text4").Result
f5 = ActiveDocument.FormFields("Text5").Result
f6 = ActiveDocument.FormFields("Text6").Result
f7 = ActiveDocument.FormFields("Text7").Result
'assemble the content with associated text
sLayout = "PRODUCT DESCRIPTION " & f1 & " COMPONENT " & f2 _
& vbCr & "MPI No " & f3 & " DRAWING# " & f4 _
& " REV NO " & f5 & " ASSEMBLY DWG " & f6 _
& vbCr & "TOT QTY " & f7
'Pick the label type
strLabel = InputBox("Label stock number?", "Labels", 5263)
'Create the label
Application.MailingLabel.CreateNewDocument Name:=strLabel,
Address:=sLayout 'Reprotect the document.
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=""
End If
End Sub






vandy wrote:
Hello Graham,

Thanks a ton for the macros. I am facing some problems when i do
this.

1) the printer while printing labels is by Stack byPass as defualt
so the printer always gives me an error msg.

2) Reg. size
Application.MailingLabel.PrintOut Name:="AE (2x7)",
Address:=sLayout, _
ExtractAddress:=False, SingleLabel:=True, _

I would be using ( 4" X 2" ) 5263 avery std. labels should I mention
this here I foresee labels of different sizes used .

3)If i need to control the no of print copies as we see in the
normal print command can i do this with a macro.

4) when i protect the form and enter values i cannot run the macro.
I unprotect the form and run the macro.

5) i have assigned assigned bookmarks from Text1 to Text7 to the
form feilds, is this correct.

Please bear with me if these questions are real basic but I am
beginning to understand the power of macros and its automation
capabilities and attempting to grasp the concept.


thanks





"Graham Mayor" wrote:

http://gregmaxey.mvps.org/Extract_Form_Data.htm will show you how
to extract data from a form, however, if the object of the
exercise is for a user to input data into the form and produce a
label, then the following macro will do that (with certain
provisos)

Sub GetContent()
Dim f1, f2, f3, f4, f5, f6, f7, sLayout As String
Dim iC, iR As Integer
Dim bProtected As Boolean

'Unprotect the file
If ActiveDocument.ProtectionType wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
'Get the field content
f1 = ActiveDocument.FormFields("Text1").Result
f2 = ActiveDocument.FormFields("Text2").Result
f3 = ActiveDocument.FormFields("Text3").Result
f4 = ActiveDocument.FormFields("Text4").Result
f5 = ActiveDocument.FormFields("Text5").Result
f6 = ActiveDocument.FormFields("Text6").Result
f7 = ActiveDocument.FormFields("Text7").Result
'assemble the content with associated text
sLayout = "PRODUCT DESCRIPTION " & f1 & " COMPONENT " & f2 _
& vbCr & "MPI No " & f3 & " DRAWING# " & f4 _
& " REV NO " & f5 & " ASSEMBLY DWG " & f6 _
& vbCr & "TOT QTY " & f7
'Choose the label position
Rows:
iR = InputBox("Print label on which row?", "Labels Row", 1)
If iR 7 Then 'edit number to match label stock
MsgBox "There are only seven rows!", vbCritical, "Label Rows"
GoTo Rows:
End If
Columns:
iC = InputBox("Print label in which column?", "Labels Column", 1)
If iR 2 Then 'edit number to match label stock
MsgBox "There are only 2 columns!", vbCritical, "Label Columns"
GoTo Columns:
End If
'Print the label
Application.MailingLabel.PrintOut Name:="AE (2x7)",
Address:=sLayout, _ ExtractAddress:=False,
SingleLabel:=True, _ Row:=iR, Column:=iC
'Reprotect the document.
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=""
End If
End Sub


http://www.gmayor.com/installing_macro.htm
The label pattern - here a custom label on my PC is
AE (2x7)
This name must be changed to match the label format you are using.
To get the correct label name record a macro of printing anything
to that label format and extract the name from the resulting macro.
That label must be large enough to fit the text as shown in the
message prompt.
Edit the macro to match your label format (rows and columns)
The fieldnames shown in f1 to f7 are the default names. If you have
named the field bookmarks differently to give more meaningful
descriptions, you will have to change the bookmark names Text1-7


--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hello Doug,

Thanks for your reply. I have gone through the Auto Form document
and would require some help.

Bear with me I am not very good at macros and dont totally
understand the concept of bookmark. If I am not wrong Bookmark
gives you the location of each feild typed in.


With my limited knowlege i have created a form which has input
text feilds to store information of the user. I am attempting to
extract these values. I have named each text box form feild with
a book mark.

PROJECT DESCRIPTION : [ ] COMPONENT [ ]

MPI NO [ ] DRAWING# [ ] REV NO [ ] ASSEMBLY DWG [
]

TOT QTY [ ]

each square bracket representing a text form feild with bookmarks
for each feild. Now how to extract the values for these once the
user inputs them. The order of these entries do not change. Based
on the entries i have to create a product tag for merging labels.
Is this possible. How do i proceed from here.


"Doug Robbins - Word MVP" wrote:

You would have to advise how the data is arranged in the reports,
is the data always arranged in that way, etc. before anyone could
suggest a macro to you.

You might want to think however about designing the reports so
that the data extraction is facilitated.

See

http://www.mousetrax.com/techpage.html#autoforms


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself
of my services on a paid consulting basis.

Doug Robbins - Word MVP

"vandy" wrote in message
...
Hi Graham,

Yes you are right. I need to extract specific field values from
a word document and create a label tag out of it.

I have an inspection report which has project data like Project
desc, project no, Component desc, Dwg no input. I have to
extract this information
and create a product tag. Is this possible.
I am not very good at macros. So any macro example which
extracts data to print will be of immense help.

Thanks in advance.


"Graham Mayor" wrote:

This doesn't sound much like a merge to me? You appear to want
to extract information from a document and create a label from
that information? That
being the case, what is the information and how will the macro
recognize it
from the document?

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


vandy wrote:
Hi All.

I have to create a mail merge button which when clicked will
merge specific selected feilds from a word document and create
a label tag.


I want to know if this can be automated and done. Ideally the
user should be prompted for what to enter and based on his
input the values should be displayed as a label.

Thanks for your help in advance.



 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 12:28 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.