Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


22356 / 76732 ←次へ | 前へ→

【59759】Re:Spreadsheetコントロールの操作について
発言  ichinose  - 09/1/7(水) 12:52 -

引用なし
パスワード
   こんにちは。

APIで出来るんですねえ!!
ならば、

Userform1のモジュールを以下のように変更すれば、


'====================================
Private Declare Function FindWindow Lib "user32" _
          Alias "FindWindowA" _
          (ByVal lpClassName As String, _
          ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" _
          Alias "GetWindowLongA" _
          (ByVal hWnd As Long, _
          ByVal nIndex As Long) As Long
     
Private Declare Sub SetWindowLong Lib "user32" _
          Alias "SetWindowLongA" _
          (ByVal hWnd As Long, _
          ByVal nIndex As Long, _
          ByVal dwNewLong As Long)
     
Private Const GWL_STYLE As Long = -16
Private Const WS_THICKFRAME = &H40000
Private s_w As Double
Private s_h As Double
Private spd As Object
'============================
Private Sub UserForm_Initialize()
  Dim strMClass  As String
  Dim strSClass  As String
  Dim strClass  As String
  Dim fhWnd    As Long
  Dim mhWnd    As Long
  Dim shWnd    As Long
 
  strMClass = "ThunderDFrame"
  fhWnd = FindWindow(strMClass, Me.Caption)
  ' フォームのサイズ変更可
  SetWindowLong fhWnd, GWL_STYLE, _
  GetWindowLong(fhWnd, GWL_STYLE) Or WS_THICKFRAME
  With Me
    .Width = 425
    .Height = 350
    s_w = .Width
    s_h = .Height
  End With
  Set spd = Controls.Add("OWC.Spreadsheet.9", , True)
  With spd
    .Left = 0
    .Top = 0
    .Width = 200
    .Height = 150
    .AutoFit = True
  End With
End Sub
'==========================================================
Private Sub UserForm_Resize()
  If Not spd Is Nothing Then
    spd.Width = spd.Width * Me.Width / s_w
    spd.Height = spd.Height * Me.Height / s_h
  End If
End Sub


ユーザーフォームのサイズ変更がスプレッドシートに反映されますね!!
1 hits

【59733】Spreadsheetコントロールの操作について いのっち 09/1/5(月) 11:47 質問
【59735】Re:Spreadsheetコントロールの操作について ichinose@今年初投稿 09/1/5(月) 19:32 発言
【59743】Re:Spreadsheetコントロールの操作について いのっち 09/1/6(火) 18:47 お礼
【59750】Re:Spreadsheetコントロールの操作について ichinose 09/1/7(水) 8:22 発言
【59754】Re:Spreadsheetコントロールの操作について... ichinose 09/1/7(水) 10:00 発言
【59755】Re:Spreadsheetコントロールの操作について... いのっち 09/1/7(水) 11:39 お礼
【59756】Re:Spreadsheetコントロールの操作について Yuki 09/1/7(水) 11:43 発言
【59757】Re:Spreadsheetコントロールの操作について Yuki 09/1/7(水) 11:46 発言
【59759】Re:Spreadsheetコントロールの操作について ichinose 09/1/7(水) 12:52 発言

22356 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free