ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] Userform³Ì¤j¤Æ(¥B¤º®e¤ñ¨Ò¦Û°Ê©ñ¤j?)

¥»©«³Ì«á¥Ñ GBKEE ©ó 2015-5-18 10:05 ½s¿è

¦^´_ 9# PKKO
¸Õ¸Õ¬Ý¦Û¤vÁY©ñ.
³oªí³æªºµ{¦¡½X
  1. Option Explicit
  2. Dim X As Double, Y As Double, e As Control
  3. Private Sub UserForm_Initialize()  'ªí³æªì©l¤Æªºµ{¦¡
  4.     Dim e As Control
  5.     X = Width
  6.     Y = Height
  7.     For Each e In Me.Controls
  8.         e.Tag = e.Top & "," & e.Left & "," & e.Width & "," & e.Height & "," & e.Font.Size
  9.     Next
  10. End Sub
  11. Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  12. 'µo¥Í¦b·í¨Ï¥ÎªÌ«ö¤F·Æ¹«Áä®É¡CMouseDown µo¥Í©ó¨Ï¥ÎªÌ«ö¤U·Æ¹«Áä****
  13.     Dim xZoom As Double
  14.     If Shift = 2 Then           'Ctrl Áä
  15.         Select Case Button      '·Æ¹«
  16.             Case 1              '«ö¤U¥ª·Æ¹«Áä¡C: ©ñ¤j
  17.                 xZoom = 1.2     '©ñ¤j %2
  18.             Case 2              '«ö¤U¥k·Æ¹«Áä¡C: ÁY¤p
  19.                 xZoom = 0.8     '©Ò¤p %2
  20.         End Select
  21.         Zoom_UserForm xZoom     'ªí³æÁY©ñµ{¦¡
  22.     ElseIf Shift = 1 Then       'Shift Áä +¥ô¤@·Æ¹««öÁä
  23.         Revert_UserForm         'ªí³æÁÙ­ì­ì¥»¤j¤p
  24.     End If
  25. End Sub
  26. Private Sub Zoom_UserForm(xZoom As Double)  'ªí³æÁY©ñ
  27.     Width = Width * xZoom
  28.     Height = Height * xZoom
  29.     For Each e In Controls
  30.         With e
  31.             .Top = .Top * xZoom
  32.             .Left = .Left * xZoom
  33.             .Width = .Width * xZoom
  34.             .Height = .Height * xZoom
  35.             .Font.Size = .Font.Size * xZoom
  36.         End With
  37.     Next
  38. End Sub
  39. Private Sub Revert_UserForm() 'ªí³æÁÙ­ì­ì¥»¤j¤p
  40.     Dim xTag As Variant
  41.     Width = X
  42.     Height = Y
  43.     For Each e In Me.Controls
  44.         With e
  45.             xTag = Split(.Tag, ",")
  46.             .Top = xTag(0)
  47.             .Left = xTag(1)
  48.             .Width = xTag(2)
  49.             .Height = xTag(3)
  50.             .Font.Size = xTag(4)
  51.         End With
  52.     Next
  53. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 10# GBKEE
ªí³æ³Ì¤j¤Æ
  1. Option Explicit
  2. Private Sub UserForm_Initialize()  'ªí³æªì©l¤Æªºµ{¦¡
  3.     Dim e As Control
  4.     For Each e In Me.Controls
  5.         e.Tag = e.Top & "," & e.Left & "," & e.Width & "," & e.Height & "," & e.Font.Size
  6.     Next
  7.     Form_xlMax
  8. End Sub
  9. Private Sub Form_xlMax() 'ªí³æ³Ì¤j¤Æ
  10.     Dim xlMax As Double, ylMax As Double, xZoom As Double
  11.     Dim e As Control
  12.     With Application
  13.         .WindowState = xlMaximized
  14.         xlMax = .Width
  15.         ylMax = .Height
  16.     End With
  17.     xZoom = 1
  18.     Do While Width < xlMax
  19.         Width = Width * xZoom
  20.         Height = Height * xZoom
  21.         For Each e In Controls
  22.             With e
  23.                 .Top = .Top * xZoom
  24.                 .Left = .Left * xZoom
  25.                 .Width = .Width * xZoom
  26.                 .Height = .Height * xZoom
  27.                 .Font.Size = .Font.Size * xZoom
  28.                Debug.Print xZoom, .Font.Size
  29.             End With
  30.         Next
  31.         xZoom = xZoom * 1.0000654
  32.     Loop
  33.     Top = 0
  34.     Left = 0
  35. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 13# PKKO

10# ªºµ{¦¡½X
©ñ¤j: Áä½LCtrl Áä + «ö¤U¥ª·Æ¹«Áä
ÁY¤p: Áä½LCtrl Áä + «ö¤U¥k·Æ¹«Áä
ÁÙ­ì: Áä½LShiftÁä +«ö¤U·Æ¹«¥ô¤@Áä
  1. If Shift = 2 Then           'Ctrl Áä
  2.         Select Case Button      '·Æ¹«
  3.             Case 1              '«ö¤U¥ª·Æ¹«Áä¡C: ©ñ¤j
  4.                 xZoom = 1.2     '©ñ¤j %2
  5.             Case 2              '«ö¤U¥k·Æ¹«Áä¡C: ÁY¤p
  6.                 xZoom = 0.8     'ÁY¤p %2
  7.         End Select
  8.        Zoom_UserForm xZoom     'ªí³æÁY©ñµ{¦¡
  9.     ElseIf Shift = 1 Then       'Shift Áä +¥ô¤@·Æ¹««öÁä
  10.         Revert_UserForm         'ªí³æÁÙ­ì­ì¥»¤j¤p
  11.     End If
½Æ»s¥N½X
11#ªºµ{¦¡½X
ªí³æ¶}±Ò¦Û°Ê³Ì¤j¤Æ
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2015-5-20 14:00 ½s¿è

¦^´_ 19# PKKO
ª½±µ©ñ¤j
  1. Option Explicit
  2. Dim Form_Tag As Variant
  3. Private Sub UserForm_Initialize()  'ªí³æªì©l¤Æªºµ{¦¡
  4.     Dim e As Control
  5.     Form_Tag = Split(Top & "," & Left & "," & Width & "," & Height & "," & Font.Size, ",")
  6.     Form_xlMax
  7. End Sub
  8. Private Sub Form_xlMax() 'ªí³æ³Ì¤j¤Æ
  9.     Dim xZoom As Double, yZoom As Double, e As Control
  10.     With Application
  11.         .WindowState = xlMaximized
  12.         xZoom = .Width / Form_Tag(2)    '¼e©ñ¤jªº¤ñ¨Ò
  13.         yZoom = .Height / Form_Tag(3)   '°ª©ñ¤jªº¤ñ¨Ò
  14.     End With
  15.     Top = 0
  16.     Left = 0
  17.     Width = Width * xZoom
  18.     Height = Height * yZoom
  19.     For Each e In Controls
  20.         With e
  21.             .Top = .Top * xZoom
  22.             .Left = .Left * xZoom
  23.             .Width = .Width * xZoom
  24.             .Height = .Height * yZoom
  25.             .Font.Size = .Font.Size * xZoom
  26.         End With
  27.     Next
  28. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2015-5-22 06:42 ½s¿è

¦^´_ 24# PKKO
¾É­P¤u§@¦Cªº¦ì¸m·|»\±¼userformªºÅã¥Ü
¤£¹L¤£¥´ºò,userfrom³Ì¤U¤è¤£­n©ñ¤¸¥ó´N¦n!

³o¼Ë¥i¥H¶Ü?
  1. Option Explicit
  2. Dim Form_Tag As Variant
  3. Private Sub UserForm_Activate()
  4.     Form_xlMax
  5. End Sub
  6. Private Sub Form_xlMax() 'ªí³æ³Ì¤j¤Æ
  7.     Dim xZoom As Double, yZoom As Double, e As Control
  8.     With Application
  9.         .WindowState = xlMaximized
  10.         xZoom = .Width / Me.Width     '¼e©ñ¤jªº¤ñ¨Ò
  11.         '****************
  12.         yZoom = .Height / (Me.Height + 20)  '°ª©ñ¤jªº¤ñ¨Ò
  13.         '****************
  14.     End With
  15.     Top = 0
  16.     Left = 0
  17.     Width = Width * xZoom
  18.     Height = Height * yZoom
  19.     For Each e In Controls
  20.         With e
  21.             .Top = .Top * xZoom
  22.             .Left = .Left * xZoom
  23.             .Width = .Width * xZoom
  24.             .Height = .Height * yZoom
  25.             .Font.Size = .Font.Size * yZoom
  26.         End With
  27.     Next
  28. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : §Ú­Ì³Ì¤jªº¼Ä¤H¤£¬O§O¤H¡D¥i¯à¬O¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD