A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> 1pxの枠にすることは可能でしょうか?
あるとすれば、
a)OSの『画面のプロパティ』の『デザイン』タブの『詳細設定』内の項目
b)Accessの「ツール(T)→オプション(O)」(Access2003以前)か、
『Officeボタン→Access のオプション(I)』(Access2007以降)の、
いずれかの項目
c)レジストリの、Access関連項目(たとえば以下)
HKEY_CURRENT_USER\Software\Microsoft\Office\(バージョン)\Access
ではないかと思うのですが、残念ながらこれらの中には、該当するような
ものは見当たりませんでした。
ですので、割り切ってしまうしかないのではないか、と思います。
(もっとも、その設定を行うことで初めてレジストリにキーが作成される
場合もあるので、「該当キーが見当たらない = 設定ができない」とは
断言できませんが・・・(汗))
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
どうしても、この「オレンジ色の憎いやつ」(笑)を表示させずに、キーボードの
カーソルキーで微調整をしたい、という場合は、いっそツールを作成する
しかないかもしれません(汗)
たとえば、以下のようなコントロールを持つポップアップタイプのフォームを
作成し、このフォームから微調整したいコントロールを選択して(→デザイン
ビュー上で選択するわけではないので、枠線を非表示にできる)、
カーソルキーで微調整を行う、といった感じです。
※下記プロパティは、デフォルトの値から変更が必要なもののうち、
必要最低限の項目に絞って紹介しています。
・・・ラベルつきコントロールだと、ラベルと本体を個別に操作するか、
独自のクラスを定義するなどして、ラベルを従属させる形にプログラムを
組むことになる・・・など、実際に使えるものにするには、かなり手間が
掛かりそうですが(汗)
※対象フォームがデザインビューかそれ以外かの判定もしていません。
そのため、下記サンプルでは、ビューに関係なく、微調整ができて
しまいます(汗)
【フォーム】
※名前は任意でOk。
<その他>タブ
『ポップアップ』 = はい
(『作業固定』は「いいえ」)
<イベント>タブ
『開くとき』イベント = 「[イベント プロシージャ]」
『キークリック時』イベント = 「[イベント プロシージャ]」
『キーボードイベント取得』 = 「はい」
【コントロール】
・『フォーム』コンボボックス: 対象フォームを指定
<データ>タブ
『値集合タイプ』 = 「値リスト」
<イベント>タブ
『更新後処理』イベント = 「[イベント プロシージャ]」
『ダブルクリック時』イベント = 「[イベント プロシージャ]」
・『コントロール』コンボボックス: 対象コントロールを指定
<データ>タブ
『値集合タイプ』 = 「値リスト」
<イベント>タブ
『更新後処理』イベント = 「[イベント プロシージャ]」
『ダブルクリック時』イベント = 「[イベント プロシージャ]」
◆コード◆
Option Compare Database
Option Explicit
'対象フォーム・対象コントロールを保持するための変数
'(モジュールレベル(=つまり’ここ’)での宣言が必要)
Private myFrm As Form, myCntl As Control
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim nLeft As Long, nTop As Long, nAddL As Long, nAddT As Long
If Shift Then
'Ctrl/Shift/Altキーの同時押し時は対象外
Exit Sub
ElseIf myCntl Is Nothing Then
'対象コントロール未設定時も対象外
Exit Sub
Else
'対象コントロールの位置を取得
nLeft = myCntl.Left
nTop = myCntl.Top
End If
'カーソルキー毎に移動量を設定
'(それ以外のキーは対象外)
'※「±10」は適当に調節してください。
' (pixel/twipの換算を正直にやると更に厄介になるので(汗))
Select Case KeyCode
Case vbKeyDown
nAddL = 0
nAddT = 10
Case vbKeyUp
nAddL = 0
nAddT = -10
Case vbKeyLeft
nAddL = -10
nAddT = 0
Case vbKeyRight
nAddL = 10
nAddT = 0
Case Else
Exit Sub
End Select
'上記で設定した値に基づいてコントロールを移動
Call myCntl.Move(nLeft + nAddL, nTop + nAddT)
'キー入力を取り消し
KeyCode = 0
End Sub
Private Sub Form_Open(Cancel As Integer)
On Error Resume Next
Dim Mem As Variant, sRS As String
'展開中の全フォームを、『フォーム』コンボボックスの
'リストに設定
sRS = "''"
For Each Mem In Forms
If Mem.Name <> Me.Name Then
sRS = sRS & ";" & Mem.Name
End If
Next
フォーム.RowSource = sRS
フォーム = Screen.ActiveForm.Name
Call フォーム_AfterUpdate
End Sub
Private Sub コントロール_AfterUpdate()
Dim Cntl As Control
'対象コントロールを設定/解除
If IsNull(コントロール) Then
Set myCntl = Nothing
Else
Set myCntl = myFrm.Controls(コントロール)
End If
End Sub
Private Sub コントロール_DblClick(Cancel As Integer)
Dim Mem As Variant, sRS As String
'対象フォームのコントロール群を、『コントロール』コンボ
'ボックスのリストに設定(フォーム未設定時は解除)
If myFrm Is Nothing Then
sRS = ""
Else
sRS = "''"
For Each Mem In myFrm.Controls
sRS = sRS & ";" & Mem.Name
Next
End If
Set myCntl = Nothing
コントロール.RowSource = sRS
コントロール = Null
End Sub
Private Sub フォーム_AfterUpdate()
Dim Mem As Variant, sRS As String
'対象フォームを設定/解除
If IsNull(フォーム) Then
Set myFrm = Nothing
Else
Set myFrm = Forms(フォーム)
End If
Call コントロール_DblClick(False)
End Sub
Private Sub フォーム_DblClick(Cancel As Integer)
'『フォーム』コンボボックスのリストを更新
'(フォームの『開くとき』イベントのコードを呼び出し)
Me.Visible = False
Call Form_Open(False)
Me.Visible = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) テキストの背後にあるオブジェクトとは 3 2023/01/03 20:22
- 画像編集・動画編集・音楽編集 AfterEffectでのシャターの挙動がおかしい 1 2023/05/07 00:38
- Illustrator(イラストレーター) Illustratorでオブジェクトの色が勝手に変わって困っています。 4 2022/09/04 18:47
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- その他(ソフトウェア) Figma 1 2023/06/23 14:22
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- その他(プログラミング・Web制作) LINEアプリの開発について。オブジェクトの名前が教えてください 1 2023/02/23 09:31
- その他(ソフトウェア) Googleフォーム、効率的な入れ方 2 2022/10/03 22:44
- Illustrator(イラストレーター) 会社の名刺作成時にロゴを配置する方法 3 2023/06/06 18:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォーム上の現在アクティブな...
-
コンボボックスの文字によるif...
-
C#で角が丸いテキストボックス
-
カメラスクロールするのを動画...
-
chr関数の呼び出しで「プロ...
-
エクセル・VBA CheckBoxのオブ...
-
RefEditで完全にハマっています。
-
コントロールを移動できない
-
vb.netで画面のコントロールId...
-
Labelコントロールの(左右)余...
-
VB.NETで、DataGridのヘッダー...
-
VBA_カレンダーコントロールの...
-
'ckbl' コントロールは作成され...
-
C#で自分のウインド・ハンド...
-
VB6.0 実行時エラー 374について
-
ExcelVBAでListViewが使用できない
-
アクセス特有の書き方?
-
With~EndWithの省略部分と引数...
-
(VBA)スピンボタンの大量...
-
ExcelVBAのフォーム上のimageコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
(VBA)スピンボタンの大量...
-
エクセルVBAでオプションボタン...
-
C#で角が丸いテキストボックス
-
ユーザーフォームで動的(Me.Con...
-
アクセス特有の書き方?
-
間違えて配置してしまったコン...
-
VBAのエラーについて、”実行時...
-
コンボボックスの文字によるif...
-
変数をコントロール型で使用す...
-
chr関数の呼び出しで「プロ...
-
With~EndWithの省略部分と引数...
-
C#で自分のウインド・ハンド...
-
excelのリストボックスで選択し...
-
'ckbl' コントロールは作成され...
-
フォーム上の現在アクティブな...
おすすめ情報