Access97です。OSは2xです。
 
>入力フォームを作成しているのですが、最大文字数Overをする間際に罫線を
引いています。
>通常のツールボックスから直線を選択して表示しておりますが、入力する際
テキストBOXにフォーカスがある場合、テキストBox内の文字数Over直線が消え
てしまいます。
>>これを回避して常に最前に出す方法は無いのでしょうか?
VB6で作成された物を見たことはあるのですが・・・VBAでは・・・出来ますか??

A 回答 (2件)

>VBで出来てVBAで出来ない理由だけでもわかれば幸いです。


え??
VBで試してみたけど、Lineコントロールでは出来ません。

>ただ罫線を表示できれば尚良いかな?

PictureBoxを細くすると罫線に見えます。

PictureBoxのプロパティ
.Appearance = 0
.Width = 12
    • good
    • 0
この回答へのお礼

すみません!
何か勘違いしてたみたいです。
VBで見たことがあって「Line」で引いているのかとずっと思ってました。
確かにPictureBoxでやってみた所、簡単に出来ました。
ありがとうございます。

お礼日時:2002/03/06 10:41

こんにちは。

maruru01です。

直接質問の回答にはならないかも知れませんが。
やりたいことは、ユーザーに最大文字数をOverしたことを知らせたいということでしょうか。
それでしたら、別の方法で知らせてはどうでしょうか。
例えば、
1.制限文字数を越えたらメッセージを出す。(MsgBoxを出すか、フォームのどこかにラベルで表示するなど)
2.制限文字数を越えたら文字の色やテキストボックスの色を変える。
3.制限文字数を越えて入力出来ないようにする。
などです。
1,2はテキストボックスのChangeイベントに、3はChangeイベントかKeyPressイベントに書きます。

あくまで、罫線でということであれば的外れな回答ですが、参考になれば幸いです。
では。
    • good
    • 0
この回答へのお礼

ありがとうございます。
現在は、制限文字数を越えたらMsgBoxに「何行目が何文字OVER」と
表示しております。
ただ罫線を表示できれば尚良いかな?と思いまして質問させて頂いて
おります。

>VBで出来てVBAで出来ない理由だけでもわかれば幸いです。
よろしくお願い致します。

お礼日時:2002/03/05 12:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q葉書の罫線がある素材サイト

仕事柄人との交流が多く、名刺交換をした人にお礼状を手書きで書いています。
無地のインクジェット葉書に罫線を書きたいのですが、そういった罫線の
あるデザインをダウンロードできる素材サイトってありますでしょうか?

罫線だけでなく、ビジネス文書に差し障りない程度のうっすらとデザインが
入っていてもOKです。

宜しくお願いします。

Aベストアンサー

罫線入りの葉書って便利なのに、
テンプレートは少ないですよねぇ。

こちらのサイトはいかがでしょうか?

参考URL:http://ruriri.aisnet.jp/keisen.htm

QコンボBOXとテキストBOXの連携の仕方

コンボBOXとテキストBOXの連携の仕方を教えてください。
データテーブルに
ID 色
1 赤
2 白
3 黄
4 青
というデータがあります。
メインフォームのID用コンボBOXにデータテーブルのIDリストを表示して選択できるように設定しました。
IDコンボBOXの横に、色用テキストBOXを作って、コンボに「1」と入れたらテキストBOXに「赤」と自動的に表示させたいのですがどのようにすればよいか教えてください。

Aベストアンサー

VB2005 Express Editionを前提とします。
該当するテーブルはhoge.mdbというAccessのデータベースとします
Windowsアプリケーションを新規作成し、
Form1に対し、Combobox1とTextBox1を貼り付けます。

さらにDataSource1を貼り付けます。
DataSource1コントロールのDataSourceプロパティをクリックし、小さなボタンを押します。
[プロジェクト データソースの追加]をクリック
[データベース]をクリック
[新しい接続]をクリック
[データソース]をSQL Server用からAccess用に変更
[データベース ファイル名]で[参照]からhoge.mdbを指定します

REM ↓コレがいいのかはよくわからん
[データベースにログオン]にユーザー名とパスワードを入力して[パスワードを保存]しておきます

接続の確認を行い、成功したら[OK]→[次へ]
[選択された接続は~]とか言われるので内容を読んだ上で[はい(Y)]→[次へ]
[データセット内に指定するデータベース オブジェクト(W)]で、使うテーブルを指定します。→[完了]

コンボボックスに小さな三角形があり、クリックすると
[Combobox タスク]が現れる。

[データソース]で使用するテーブルを指定します


REM 以下二行よく解ってない
[メンバの表示]と[値の表示]で[ID]を指定します
[選択された値]をなしのままにしておきます

REM TagとTextの違いを理解してません。ごめんなさい
TextBox1のプロパティで(DataBinding)の(詳細)、あるいはTagとTextで使用するテーブルの[色]を指定しておきます

実行します。これでとりあえず連動はしているはずです

VB2005 Express Editionを前提とします。
該当するテーブルはhoge.mdbというAccessのデータベースとします
Windowsアプリケーションを新規作成し、
Form1に対し、Combobox1とTextBox1を貼り付けます。

さらにDataSource1を貼り付けます。
DataSource1コントロールのDataSourceプロパティをクリックし、小さなボタンを押します。
[プロジェクト データソースの追加]をクリック
[データベース]をクリック
[新しい接続]をクリック
[データソース]をSQL Server用からAccess用に変更
[データベース ファイ...続きを読む

QWindows 7で罫線又は表作成ができるフリーのワープロソフトを探し

Windows 7で罫線又は表作成ができるフリーのワープロソフトを探しています。

OpenOfficeのWriterは存じていますので、これ以外でお願いいたします。
イメージとしては、ワードパッドに追加で罫線又は表作成ができる軽いものを探しています。
表計算は不要です。
文書の体裁として縦横の線が要るだけで、印刷のみに使います。
教えていただけば、Windows 7で動くかどうかは調べられますので、どうぞよろしくお願いいたします。

Aベストアンサー

何度もすみません。
プログラムの追加と削除に登録されています。
「CYPAC BeatWord 3.0」として登録されていますのでそこから削除できます。
そそっかしくてすみませんでした(汗!)

QVB6でLabelの最前面にText Boxを書く

どうも初めまして。
VB6.0の初級者です。
VB6.0でLabelの最前面にText Boxを書きたいのですがわかりません。
Labelの背面にText Boxが表示されてしまいます。
右クリックでText Boxを最前面にしてもだめです。

初心者ですいません。
宜しくお願いいたします。

Aベストアンサー

ごめんなさい ドラッグアンドドロップでは出来なかったようです m(__)m

ピクチャーボックスを用意します
背景色を何か適当な色に変更します ・・・ ラベルが乗ったかの判定がしやすいように
ラベルを選択して 編集 > 切り取り を実行
ピクチャーボックスを選択して > 編集 > 貼り付け を実行

これで ピクチャーボックスの左上にラベルが張り付くと思います
この状態なら ピクチャーボックスを移動すると ラベルも同時に移動できます

これが ピクチャーボックスをコンテナにするという操作です

Q飾り枠・罫線をフリーで使えるHPを教えて下さい!

ビジネス用に使う飾り枠で見積書の外側を囲う飾り枠なのですが、
WORDの罫線では使えそうなのが見つかりません。

HP上でイメージにピタッ!っとくるようなのをフリーで探しています。
あくまでもビジネス用なので落ち着いた感じです・・。

フリーじゃないけどこれはいい!というようなものもあれば・・・。
よろしくお願いします。

Aベストアンサー

>ダウンロードするとすぐにクリップオーガナイザが起動され、

その時点で、ダウンロードしたものが表示されているはずです。
Office XPのクリップオーガナイザなら、それだけで、すでに分類もされていると思います。
どこに分類されているかは、ダウンロードした画像のカテゴリを自動判別しますので、自分が選択したものになります。
今回の場合で言えば、おそらく「罫線と飾り」か「境界線と枠」になっていると思います。
分類を変えたければ、表示させておいて、「コレクションの一覧」の好きな分類の上にドラッグ&ドロップすればコピーされます。
また、右の窓に適当なものが表示されていなければ、「コレクションの一覧」をクリックして切り替えてください。
MS-WORDなどの貼り付けるには、ドロップダウンメニューからコピーしてWORD上で貼り付けをするか、WORD上で「挿入」→「図」→「クリップアート」で検索・表示させておいて、図をクリックすれば挿入されます。

Qテキストボックスのフォーカスについて

テキストボックスの設定としては、右揃えにしてフォーカスが常に一番右に表示させていたいのですが、常に一番右に表示させる方法がわかりません。
なので、分かる方教えていただけないでしょうか?
一番右というのはテキストボックスに数字などが入力されてもフォーカスは常に入力された数字の右側にフォーカスがあるということです。

Aベストアンサー

こんにちは。ベタですがこんな感じ?

Private Sub Text1_GotFocus()
  Text1.SelStart = Len(Text1.Text) + 1
End Sub
'
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 37 Then KeyCode = 0
  Text1.SelStart = Len(Text1.Text) + 1
End Sub

' // マウス操作でカーソルも移動させたくないなら
Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Text1.SelStart = Len(Text1.Text) + 1
End Sub

Qフリー素材

フリー素材を探しています。
花柄で、小さな花模様でフリーの素材はないでしょうか?
ポスターとかはがきにその花柄を印刷しまして、
そのポスターやはがきを販売しますので、
印刷物に使用でき、販売目的でもOKのフリー素材は
ないでしょうか。教えてください。

Aベストアンサー

素材辞典
http://www.sozaijiten.com/

プロの素材
http://www.hakata-good.co.jp/

満タンWEB
http://www.dex.ne.jp/mantan/index.html

上記は、商用OKのロイヤリティフリー素材を販売されているサイトです。
使えそうな画像がある素材集を購入すればご要望の用途にかなうかもしれません。

また、検索エンジンなどで、キーワードを「ロイヤリティフリー」「素材」「商用」などで検索されれば、その他の商用可能なフリー素材も見つかるかもしれません。

QエクセルVBA テキストボックスへのセットフォーカスについて

エクセルVBAでユーザーフォーム内に配置されたテキストボックス
への数値の入力時に、指定範囲内になければメッセージボックスで
規格外であることを警告し、その規格外が入力されたテキストボックス
を強制的に空欄にし、次のテキストボックスにフォーカスを移動させずに、入力間違いのテキストボックスにフォーカスを戻したいのですが
どうすればよいのでしょうか?
自分で考えた構文です。
Private Sub TextBox1_AfterUpdate()
Dim A As Single

A = TextBox1.Text
If A < 1.99 Or A > 3.00 Then
MsgBox "規格外!!"
    TextBox1.Text = ""
TextBox1.SetFoucus
End If
Exit Sub

End Sub

これですと、次のテキストボックスにフォーカスが移動してしまいます。
次のテキストボックスにフォーカスを移動させずに、規格内の値が
入力されるまでフォーカスを移動させない方法を教えて下さい。
お願い致します。

エクセルVBAでユーザーフォーム内に配置されたテキストボックス
への数値の入力時に、指定範囲内になければメッセージボックスで
規格外であることを警告し、その規格外が入力されたテキストボックス
を強制的に空欄にし、次のテキストボックスにフォーカスを移動させずに、入力間違いのテキストボックスにフォーカスを戻したいのですが
どうすればよいのでしょうか?
自分で考えた構文です。
Private Sub TextBox1_AfterUpdate()
Dim A As Single

A = TextBox1.Text
If A < 1.99 Or A...続きを読む

Aベストアンサー

こんにちは。Wendy02です。

>イベントをAfterUpdateにしましたが、Wendy02さんはExitを使っていますが、AfterUpdateではなぜ正しく動作しないのでしょうか?

イベント自体の問題よりも、イベントの機能を良くみたほうがよいですね。
_Exit(ByVal Cancel As MSForms.ReturnBoolean)

ここで、Return(戻り値)のブーリアン値があるようなので、それを利用しただけです。

>Cancel = True
が、フォーカスの移動をキャンセルしています。

別に、Exit でなくても良いのです。例えば、

_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
のKeyCode に入った 「13(Enter)」のコードを 0 で打ち消す方法でも、可能です。

If が True の時に、
 MsgBox "規格外!!",16
 TextBox1.Text = ""
 KeyCode = 0

でも可能です。

「なぜ?」というよりも、そういうパターンがあるということです。たぶん、AfterUpDateでも、方法によってはできるとは思いますが、かなり難しくなるのではないかなって思うだけです。

こんにちは。Wendy02です。

>イベントをAfterUpdateにしましたが、Wendy02さんはExitを使っていますが、AfterUpdateではなぜ正しく動作しないのでしょうか?

イベント自体の問題よりも、イベントの機能を良くみたほうがよいですね。
_Exit(ByVal Cancel As MSForms.ReturnBoolean)

ここで、Return(戻り値)のブーリアン値があるようなので、それを利用しただけです。

>Cancel = True
が、フォーカスの移動をキャンセルしています。

別に、Exit でなくても良いのです。例えば、

_KeyDown(By...続きを読む

Qフリーソフトで簡単に罫線が引けるソフト

1 簡単に罫線を引くことができる
2 線と線の間に文字を書くことができる。
3 表計算のように表に入力した数字を計算しなくてもい  い
4 印刷機能がある

というフリーソフトはありますでしょうか?

Aベストアンサー

フリーですべてを満たすのはOpenOfficeでしょうね。

参考URL:http://ja.openoffice.org/start/

Qテキストボックスの桁数をカウントして、フォーカス移動

Win2000、VB6.0です。

テキストボックスとADOコントロールを使用して、レコードを編集・更新するフォームを作っています。
ただ、簡単に書く為に下の説明文ではDBについては書きません。

Form1に、Text1とText2があるとします。
Tab移動だけではなく、Text1に4桁目まで入力された時点で、Text2へフォーカスが移動するようにしたいと考えています。
Text1のChangeイベントで、
------------------------------------
Private Sub Text1_Change()
  If Len(Text1.Text) >= 4 Then
    Text2.SetFocus
  End If
End Sub
------------------------------------
以上のように記述しています。
ただ、Form1のロード時に、
------------------------------------
Private Sub Form_Load()
  Text1.Text = "1111"
End Sub
------------------------------------
以上のように記述すると、
「実行時エラー"5";」
「プロシージャの呼び出し、または引数が不正です。」
とエラーが発生してしまいます。

ロード時にテキストボックスに表示しつつ、入力された現在の桁数をカウントして、フォーカス移動する方法は無いのでしょうか?
よろしくお願いします。

Win2000、VB6.0です。

テキストボックスとADOコントロールを使用して、レコードを編集・更新するフォームを作っています。
ただ、簡単に書く為に下の説明文ではDBについては書きません。

Form1に、Text1とText2があるとします。
Tab移動だけではなく、Text1に4桁目まで入力された時点で、Text2へフォーカスが移動するようにしたいと考えています。
Text1のChangeイベントで、
------------------------------------
Private Sub Text1_Change()
  If Len(Text1.Text) >= 4 Then
    Text2.SetF...続きを読む

Aベストアンサー

SetFocus を使わずに Enabled でフォーカスを移したら?
MaxLength も使って。

Private Sub Form_Load()
  With Text1
    .IMEMode = 3
    .MaxLength = 4
    .Text = "1111"
  End With
End Sub

Private Sub Text1_Change()
  If Len(Text1.Text) >= 4 Then
    With Text1
      .Enabled = False
      .Enabled = True
    End With
  End If
End Sub


人気Q&Aランキング