Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11
Default Textbox margin

I have too questions:
1) VBA code
Selection.ShapeRange.TextFrame.MarginLeft = 0#
Selection.ShapeRange.TextFrame.MarginRight = 0#
Selection.ShapeRange.TextFrame.MarginTop = 0#
Selection.ShapeRange.TextFrame.MarginBottom = 0#
seems to don't work. I have to click off <inside Margin <checkbox
Automatic manually to get it in function

2) What is difference between
Selection.ShapeRange.TextFrame.MarginLeft = 0#
or
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 405#, 195#, 67.5,
46.5).Select
And
Selection.ShapeRange.TextFrame.MarginLeft = 0
or
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 405, 195, 67.5, 46.5).Select

Any assistance would be greatly appreciated.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default Textbox margin

Try it this way:

Sub ABCD()
Dim shp As Shape
Set shp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, _
20#, 20#, 67.5, 46.5)
With shp.TextFrame
.AutoMargins = False
.MarginLeft = 0
.MarginRight = 0
.MarginBottom = 0
.MarginTop = 0
.Characters.Text = "ABCD EFGH IJKL MNOP"
End With
End Sub
--
Regards,
Tom Ogilvy


"Linda Edlund" wrote:

I have too questions:
1) VBA code
Selection.ShapeRange.TextFrame.MarginLeft = 0#
Selection.ShapeRange.TextFrame.MarginRight = 0#
Selection.ShapeRange.TextFrame.MarginTop = 0#
Selection.ShapeRange.TextFrame.MarginBottom = 0#
seems to don't work. I have to click off <inside Margin <checkbox
Automatic manually to get it in function

2) What is difference between
Selection.ShapeRange.TextFrame.MarginLeft = 0#
or
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 405#, 195#, 67.5,
46.5).Select
And
Selection.ShapeRange.TextFrame.MarginLeft = 0
or
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 405, 195, 67.5, 46.5).Select

Any assistance would be greatly appreciated.

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,163
Default Textbox margin

For (1): from the help documentation:
AutoMargins Property
True if Microsoft Excel automatically calculates text frame margins.
Read/write Boolean.
Remarks
When this property is True, the MarginLeft, MarginRight, MarginTop, and
MaginBottom properties are ignored.
So to make the code work add Selection.ShapeRange.TextFrame.AutoMargins=False
(this is the same as checking off that checkbox manually)

For (2):
The second set of statements is equvalent to the first and VBA will
interpret them exactly the same. Then only difference between (e.g.) 405 and
405# is that 405 is not "typed" - it could be used as an integer, long
integer, or a single or double precision floating point value in an
expression. The # sign in VBA is used to explicitly refer to a Double type
variable or number, so the second set of statements simply specifies the type
of the arguments used. But since doubles are required here, and are the only
type that makes sense, leaving the # off has no real effect; VBA still knows
you mean 405 as a Double value and can interpret it correctly without having
to use 405# to specify it.

Hope that all makes sense!
--
- K Dales


"Linda Edlund" wrote:

I have too questions:
1) VBA code
Selection.ShapeRange.TextFrame.MarginLeft = 0#
Selection.ShapeRange.TextFrame.MarginRight = 0#
Selection.ShapeRange.TextFrame.MarginTop = 0#
Selection.ShapeRange.TextFrame.MarginBottom = 0#
seems to don't work. I have to click off <inside Margin <checkbox
Automatic manually to get it in function

2) What is difference between
Selection.ShapeRange.TextFrame.MarginLeft = 0#
or
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 405#, 195#, 67.5,
46.5).Select
And
Selection.ShapeRange.TextFrame.MarginLeft = 0
or
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 405, 195, 67.5, 46.5).Select

Any assistance would be greatly appreciated.

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default Textbox margin

Selection.ShapeRange.TextFrame.AutoMargins=False

just for information, that didn't work for me when I tried it. I had to use
a shape rather than a ShapeRange.

--
Regards,
Tom Ogilvy


"K Dales" wrote:

For (1): from the help documentation:
AutoMargins Property
True if Microsoft Excel automatically calculates text frame margins.
Read/write Boolean.
Remarks
When this property is True, the MarginLeft, MarginRight, MarginTop, and
MaginBottom properties are ignored.
So to make the code work add Selection.ShapeRange.TextFrame.AutoMargins=False
(this is the same as checking off that checkbox manually)

For (2):
The second set of statements is equvalent to the first and VBA will
interpret them exactly the same. Then only difference between (e.g.) 405 and
405# is that 405 is not "typed" - it could be used as an integer, long
integer, or a single or double precision floating point value in an
expression. The # sign in VBA is used to explicitly refer to a Double type
variable or number, so the second set of statements simply specifies the type
of the arguments used. But since doubles are required here, and are the only
type that makes sense, leaving the # off has no real effect; VBA still knows
you mean 405 as a Double value and can interpret it correctly without having
to use 405# to specify it.

Hope that all makes sense!
--
- K Dales


"Linda Edlund" wrote:

I have too questions:
1) VBA code
Selection.ShapeRange.TextFrame.MarginLeft = 0#
Selection.ShapeRange.TextFrame.MarginRight = 0#
Selection.ShapeRange.TextFrame.MarginTop = 0#
Selection.ShapeRange.TextFrame.MarginBottom = 0#
seems to don't work. I have to click off <inside Margin <checkbox
Automatic manually to get it in function

2) What is difference between
Selection.ShapeRange.TextFrame.MarginLeft = 0#
or
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 405#, 195#, 67.5,
46.5).Select
And
Selection.ShapeRange.TextFrame.MarginLeft = 0
or
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 405, 195, 67.5, 46.5).Select

Any assistance would be greatly appreciated.

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11
Default Textbox margin

But your code

Sub ABCD()
Dim shp As Shape
Set shp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, _
20#, 20#, 67.5, 46.5)
With shp.TextFrame
.AutoMargins = False
.MarginLeft = 0
.MarginRight = 0
.MarginBottom = 0
.MarginTop = 0
.Characters.Text = "ABCD EFGH IJKL MNOP"
End With
End Sub

works well and it's enough for me
I'm using Excel 2002
Thanks any way


  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11
Default Textbox margin

Thanks a lot, both of you. It works fine!
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Formatting Footers from Margin to Margin Stacia S Excel Discussion (Misc queries) 5 July 31st 07 12:31 AM
Setting right-hand internal margin in textbox Sandy Excel Programming 4 December 29th 05 07:50 PM
Textbox margin overwritten by auto-margin Jess Excel Programming 0 March 31st 05 10:39 PM
HELP! I Lost The Ability To Advance From TextBox To TextBox With the ENTER Or The TAB Keys Minitman[_4_] Excel Programming 0 February 22nd 05 08:50 PM
Textbox Bug? Missing/delayed update of textbox filled via VBA MarcM Excel Programming 0 November 4th 04 05:43 PM


All times are GMT +1. The time now is 08:51 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"