
No.1ベストアンサー
- 回答日時:
> 「Ctrl+Enter」で改行できますが、これを無効にしたい
「Ctrl+Enter」をキークリック時イベントで拾い、無効化してやるのがよいかと
思います。
(特定のテキストボックスに限ってであればそのテキストボックスの同イベントに、
フォーム全体であればフォームのプロパティシートで、『イベント』タブの
『キーボードイベント取得』を「はい」にした上で同イベントに、下記のコード
を記述)
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 'フォーム時
'Private Sub テキスト0_KeyDown(KeyCode As Integer, Shift As Integer) 'テキストボックス
'「Ctrl+Enter」の同時押し時
If KeyCode = vbKeyReturn And Shift = acCtrlMask Then
MsgBox "改行は使用禁止です。", vbExclamation, "確認"
'入力したキーを無効化
KeyCode = 0
Shift = 0
End If
End Sub
なお、メモ帳などで入力した文をCopy&Pasteされた場合などには、この方法
では対処できませんので、これについてはテキストボックスの更新後イベントで
対応します。
(クリップボードの内容を見て、改行があったら削除、という方法もあるかとは
思いますが、私はクリップボード周りは手を出したことがないので・・・(汗))
※上記の「Ctrl+Enter」対応はリアルタイムですが、こちらはテキストボックス
の更新が確定したときの発生となります。
使用頻度の高低からすれば、これでもよいかと思っていますが、逆に全て
の場合で「確定時に一括」でよいなら、キークリック時の対応は省略して、
こちらのみでもOKです。
Private Sub テキスト0_AfterUpdate()
'Accessでの改行コードがあった場合は削除(=空文字に置換)
If InStr(1, テキスト0, vbCrLf) Then
MsgBox "使用禁止のため、改行は削除されます。", vbExclamation, "確認",
テキスト0 = Replace(テキスト0, vbCrLf, "")
End If
End Sub
・・・以上です。
早速、ご丁寧にご回答いただき、
ありがとうございました。
非常にわかりやすかったです。
おかげさまで、期待通りの動きが実現できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Access サブフォームでの選択行の取得
その他(データベース)
-
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
ACCESSのフォーム、開くんですが、見えないようにするには
Access(アクセス)
-
-
4
ACCESSのレポートの表示がおかしい
Excel(エクセル)
-
5
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
6
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
7
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
-
8
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
9
access テキストボックスの値取得
Access(アクセス)
-
10
Accessのフィールド数が255しかない=業務では使えない?
PowerPoint(パワーポイント)
-
11
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
12
Access 複数フォームを開き、画面の最上面にしたいフォームをコント
その他(データベース)
-
13
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
14
ACCESSでの改行コード
その他(データベース)
-
15
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
16
アクセスのクエリでSplit関数は使えないのですか
Access(アクセス)
-
17
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
18
アクセス2016のレポートで、テキストボックスの文字を自動で改行(縮小)させたい。
Access(アクセス)
-
19
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
20
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSで入力フォームをHTMLフ...
-
アクセスのフォームのビューが...
-
アクセスでの項目追加について...
-
Accessのフォーム上にレコード...
-
Accessのフォームで作業領域を...
-
Access2002 フォームを閉じるた...
-
アクセス 0以外をカウントす...
-
アクセスでテーブルの変更内容...
-
ACCESSで、フォームのレコード...
-
[至急]accessクエリ結果を入力...
-
選択したチェックボックスのみ...
-
ACCESSでのテキストボックスの...
-
ACCESSのVBAでのサブルーチンへ...
-
Access2007 サブフォームの新規...
-
ACCESSのフォームからデータの...
-
Access 別フォームへの再クエ...
-
アクセス非連結フォームのテキ...
-
access レコードソースを選択...
-
フォーム上のレコード数表示が...
-
「メソッドまたはデータメンバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
選択したチェックボックスのみ...
-
ACCESSのフォームからデータの...
-
アクセスでテーブルの変更内容...
-
accessの自動更新処理をできな...
-
Access 別フォームへの再クエ...
-
アクセスのフォームのビューが...
-
アクセスでの項目追加について...
-
「メソッドまたはデータメンバ...
-
テキストボックスの値をテーブ...
-
Accessのハイパーリンクのパス...
-
Accessフォームのテキストボッ...
-
アクセス非連結フォームのテキ...
-
アクセス 0以外をカウントす...
-
ADOでRecordsetオブジェクトを...
-
Accessのフォームで作業領域を...
-
Access フォーム上でコンボボッ...
-
Accessのフォームに表示...
-
[至急]accessクエリ結果を入力...
-
Access2002 フォームを閉じるた...
おすすめ情報