- ベストアンサー
VBスクリプトの作成方法について
- VBスクリプトの作成方法について教えてください。アプリケーション内でVBスクリプトを有効にする方法や、イベント用スクリプトの入力方法などについて詳しく説明します。
- VBスクリプトを使用してデータを変化させる方法について教えてください。具体的な変化条件に応じて、VBスクリプトの作成手順をご説明します。
- VBスクリプトを使って文字列を変換する方法について教えてください。変換条件ごとにVBスクリプトのコード例を紹介し、具体的な手順を解説します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2の回答者です。 >「このスクリプトはValue プロパティから読み出されていません。 >現在指定されているデータソースが完全に無視されています。」 Valueプロパティから読み出されていません、という意味は、分かりますが、その前にオブジェクトがあります。そうすると、VBScript とは異質なものになってきてしまいます。まず、オブジェクトは何かということを把握しなければ、Valueプロパティは取り出せません。 >・VBパワーユーザーでもスクリプトアシスタントの有用性の理解が可能。 だから、VBScript ではなく、VBスクリプトなのでしょうね。 ソフト名が有名なものなら、こちらでも、ある程度、インターネットでたぐり寄せて教えられるとは思います。私が持っているもので、VBScript に準拠したものもありますが、同じ言語だとは思えない違いがあります。ただ、単に、文法だけです。 あえて、ソフト名を隠して質問したのでしょうから、回答は、これまでという所かなって思います。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
VBスクリプトということは、VBScript ということでしょうけれども、 >あるアプリケーションにて、VBスクリプト編集の機能が有り >元データを以下の条件によってVBスクリプトにて変化させたい場合 >VBスクリプトはどのように作成すればいいでしょうか? 変化させるなら、Select Case ですればよいと思うのですが、その「あるアプリ」そのものが、VBScript の機能というか、それそのものの文法や関数を格納しているのでしょうか。例えば、VBAとVBScript とは似ている部分と違う部分がありますから、同じとは言い切れません。関数などは、どうなのでしょうか。 はたして、VBScriptを「本当」にサポートしているのですか? >高度な編集でVBスクリプト編集を選択するとイベント用スクリプト入力欄が表示されます。 >【サンプル: Value = Value + "123", サブ文字列の値に123を加えます。】 VBScript と同じという意味で、そんな説明をしたのですね。でも、逆に、ますます、怪しくなってしまいます。どこまで同じなのでしょうか。WScript の Ver5.5 とか、Ver2 までとか、はっきりしたほうがよいです。例えば、Like 演算子、Instr 関数、Mid 関数や Replace 関数はどうなのか、とか。 それに、変数だけしか示していませんが、データの「入り」と「出」は良いのでしょうか? 本来、データの法則は、ご自分で解析していただきたいですね。以下は、完全に動くかどうかは分かりません。それに、ハイフンの全角・半角の問題が若干残っています。掲示板の質問文では、全角が使われています。だから、Instr 関数は、TextCompare にしました。 'VBScript Dim myData Dim mValue Dim buf Const vbNarrow=8 myData = Array("41234564811114", "12345-12345", "12345678-12345", "31234567890123", "3A145677812300") For Each n In myData n = Trim(n) Select Case True Case Left(n, 2) = "3A" And Len(n) = 14 And InStr(1,n, "-",1) = 0 mValue = Left(n, 3) & "-" & Mid(n, 4) Case Left(n, 1) = "3" And Len(n) = 14 And InStr(1, n, "-", 1) = 9 n = Replace(n, "-", "",1, -1 ,1) 'ハイフンを抜く mValue = Left(n, 3) & "-" & Mid(n, 4, 5) & "-" & Mid(n, 9, 5) Case Len(n) = 14 And InStr(1,n, "-",1) = 9 n = Replace(n, "-", "",1 , -1, 1) 'ハイフンを抜く mValue = Left(n, 3) & "-" & Mid(n, 4, 5) & "-" & Mid(n, 9, 5) Case Len(n) = 14 And InStr(1,n, "-",1) = 0 mValue = Left(n, 3) & "-" & Mid(n, 4, 5) & "-" & Mid(n, 9, 2) _ & "-" & Mid(n, 11, 2) & "-" & Mid(n, 13, 2) Case Else mValue = n End Select 'MsgBox mValue Next
お礼
本などのサンプルを入力した時と同じで 「このスクリプトはValue プロパティから読み出されていません。 現在指定されているデータソースが完全に無視されています。」 と表示されます。 >例えば、VBAとVBScript とは似ている部分と違う部分がありますから、同じとは言い切れません。 >関数などは、どうなのでしょうか。 >でも、逆に、ますます、怪しくなってしまいます。どこまで同じなのでしょうか。 >はたして、VBScriptを「本当」にサポートしているのですか? >でも、逆に、ますます、怪しくなってしまいます。どこまで同じなのでしょうか。 ヘルプを隅々まで読みました。 ・スクリプトを入力するか、またはスクリプトアシスタントの式作成ツールを使用して、 ・実際のスクリプトを作成。 ・スクリプト記述を補助するための参照および式作成ツールの提供。 ・技術経験の少ないユーザーのためにスクリプト デザインが簡略化。 ・VBパワーユーザーでもスクリプトアシスタントの有用性の理解が可能。 ・VBスクリプトは、MicrosoftのVisual Basicプログラミング言語のサブセット。 ・VBスクリプトは、プログラムそのものを書くというより、 ・既存のプログラムに機能を追加する形。 このアプリ専用のスクリプトアシスタントで使用可能にする特別な関数及びプロパティなども 出てきました。 とにかくヘルプでの情報が膨大で読みきれません。 私が行おうとしている事が間違っているみたいです。 お時間をとっていただいてありがとうございました。
- MARU4812
- ベストアンサー率43% (196/452)
サンプルと質問の関連がよく分からないですが。。。 文字列操作の基礎も分からないほど素人だと説明したかったんですか? ・・・それだと、プログラムという作業自体できないでしょう? 勉強しないでプログラムなんてできるわけが無いので、勉強する事を お勧めします。 Left 関数で切り出した文字列を If 文で判定すれば良いのでは? 入門書にサンプルが載ってるレベルの処理なので、まずはVBスクリプト の入門書を本屋で買ってくるところからはじめてみては?
お礼
2回も回答をしていただきましてありがとうございました。
補足
申し訳有りません。 勉強しなければ駄目なのは理解していますが時間が有りません。 今回乗り切れればいいので質問いたしました。 このアプリケーションはラベル印刷ソフトで 指定したデータベースからデータをひっぱて来て画面に表示をしています。 で印刷エリア内に表示している各文字オブジェクトをクリックすると ウィンドーが開きます。 で素人用に簡易編集用各コマンドがあります。 例えば ・左から何文字までを選択【 】 ・全角文字に変換する 等々。 で高度な編集でVBスクリプト編集を選択すると イベント用スクリプト入力欄が表示されます。 ひっぱて来て画面に表示された文字がAAAAAAだとして ここに Value = Value + "123" と入力をすると AAAAAA123 と表示が変化します。 >Left 関数で切り出した文字列を If 文で判定 エクセルとかですと =LEFT、=IF とかで、かつ文の中では変換したい対象セルを指定します。 この場合切り出す対象データは文の中でどう定義すればいいのか 入門書のサンプルではわかりませんでした。 よって Value = Value + "123" と文例を載せてみました。
お礼
ご丁寧にありがとうございました。