KG_ の回答履歴

全81件中21~40件表示
  • 配列のつなげ方

    配列をつなげて文字列にしたいと思っています。 Dim abc() As String Dim i As String Dim namae As String i=0 ここでDBに接続してループでまわしながらデータを取得してきます。 Do while y > z abc(i) = X i = i+1 loop Xはループがまわる毎に違う値がセットされます。例えば1回目のループでリンゴ、2回目のループでミカンといった具合にです。 つまり、abc(0)=リンゴ、abc(1)=ミカン、abc(2)=メロン といった具合にです。 最終的には namae="リンゴ、ミカン、メロン、・・・・"といった具合にnamaeに代入したいと思っています。namae = abc(0) & "," & abc(1) & ","....と やれば実現できるのはわかります。 Xにはデータがいくつはいっているかわかりません。どうやった式をたてれば、実現できるでしょうか?

  • VB2008: 文字列を逆順にする関数が判らない!

    Sub Main()   Debug.Print(Reverse("ABC") End Sub Function Reverse(ByVal aChars As String) As String   Dim C As Char   Dim I As Integer   Dim J As Integer   Dim L As Integer = aChars.Length - 1   J = L   Do While I < J     C = aChars.Chars(I)     aChars.Remove(I, 1)     aChars.Insert(I, aChars.Chars(J))     aChars.Insert(J, C)     aChars.Remove(J + 1, 1)     J -= 1     I += 1   Loop   Return aChars End Function 1、"ABC"の"A"を変数 C に保存。 2、"ABC"の"A"を削除。 3、"BC" の先頭に"C"を挿入。 4、"CBAC" の3番目(J=2)に変数Cを挿入。 5、"CBAC" の4番(J+1=3)を削除 6、"CBA" を戻り値にセット。 という Reverse 関数ですが動作しません。 一体、どこでどのように考え違いをしているのでしょうか? 全くわかりません。 宜しくお願いします。

    • ベストアンサー
    • noname#140971
    • Visual Basic
    • 回答数2
  • VBAのRangeについて

    先の質問で教えていただいたRangeの事でお教えねがいたいのですが Range("B4") = Textbox1.textの ”B4 "の部分の4(行)が  GYO と言う変数で定義してある場合どのようにすればよいのかわかりません。 質問の説明が下手ですみません。 

  • 再質問: リスト配列の添字の最大値の取得要領?

    余り、やっている全容を示すのもと思って関係個所だけを提示して質問してきました。 しかし、回答者の方にとっては煩わしい質問の仕方。 ですから、今回は、全てを晒した上で質問します。 ”列添字最大値”という記号定数を用いています。 現実のアプリケーションでは、これは良い方法だと思います。 しかし、それはそれ、これはこれです。 VB.NET の初学者の私は、<記号定数を用いない書き方>が知りたいところです。 この最終的な疑問が解消すれば、テキストの配列への呼び込み実験は終了。 宜しくお願いします。 ' ========================== ' CSVReadToArray のテスト2 ' ========================== Const 列添字最大値 As Integer = 3 Sub Main()   Dim I As Integer ' 行を参照するための For 文の変数   Dim J As Integer ' 列を参照するための For 文の変数   'Dim K As Integer ' 列(フィールドあるいは要素)の数   Dim aDatas As New List(Of String())()   Dim N = CSVReadToArray("D:\Temp\付属一覧.csv", aDatas) - 1   For I = 0 To N     For J = 0 To 列添字最大値       Debug.Print(aDatas(I)(J))     Next J   Next I End Sub ' ============================================================= ' CSV ファイルを配列に読み込む; TextFieldParser クラス版; 第2版 ' ============================================================= Function CSVReadToArray(ByVal aFile As String, _ ByRef aRows As List(Of String())) As Integer   If File.Exists(aFile) Then     Try       Using MyReader As New TextFieldParser(aFile, Encoding.Default)         MyReader.TextFieldType = FieldType.Delimited         MyReader.Delimiters = New String() {","}         While Not MyReader.EndOfData           aRows.Add(MyReader.ReadFields())         End While         Return aRows.Count       End Using     Catch ex As FileIO.MalformedLineException       MsgBox(ex.Message & "(CSVReadToArray)", , "告知:")       Return 0     End Try   Else     Return 0   End If End Function

    • ベストアンサー
    • noname#140971
    • Visual Basic
    • 回答数1
  • VB2008: リストメンバーの列数の求め方?

    Sub Main()   Dim I As Integer   Dim J As Integer   Dim K As Integer   Dim aDatas As New List(Of String())()   Dim N = CSVReadToArray("D:\Temp\付属一覧.csv", aDatas) - 1   K = aDatas(0).Count - 1   For I = 0 To N     For J = 0 To K       Debug.Print(aDatas(I)(J))     Next J   Next I End Sub 質問1、K = aDatas(0).Count - 1 の本当のやり方? 質問2、K の処理のされ方。 K が変数としてメモリに配置されることはないと推察しています。 多分、何がしかのスタック領域に一時的に置かれると・・・。 この辺りに関しても教えてもらえれば幸いです。

    • ベストアンサー
    • noname#140971
    • Visual Basic
    • 回答数1
  • ファイル出力の時間をはかりたい

    AccessからVBAでExcelにデータを出力しています。複数ファイルを出力しているのですが、吐き出す時間が非常に遅いです。そこで1ファイル出力するのに、どのくらいの時間がかかるのか知りたいのですが、どういった関数を使えば時間をはかれるのでしょうか?googleで調べてみましたが、調べ方が悪いのか欲しい関数が出てきませんでした・・・

  • VB.NET: ファイルの二分探索のヒントを!

    1月26日より SUB MAIN() だけでVB.NET の演習をしています。 ですから、今日で一ヶ月足らずのVB.NET 初学者です。 「プログラミング言語C」の例題をVB.NETに移植するという学習法。 ELSE-IFの演習テーマは2分探索。 付属一覧.csv 品番001, 品番001用付属1, 品番001用付属2, 品番001用付属30 品番002, 品番002用付属1, 品番002用付属2, 品番002用付属300 品番003, 品番003用付属1, 品番003用付属2, 品番003用付属3000 品番004, 品番004用付属1, 品番004用付属2, 品番004用付属30000 品番005, 品番005用付属1, 品番005用付属2, 品番005用付属300000 これを配列に呼び込んで2分探索。 しかし、2分探索の本領をファイルを外に置いての探索。 ですから、演習目的は達していますが、余りにも非現実的。 そこで、外に置いたままの演習をしたいと思っています。 素人というのは、ちょっとしたヒントでも道が拓けるものです。 「このクラスを使えばできますよ!」程度のヒントでもOKです。 なお、なぜ、この質問をするのかを少し説明しておきます。 「VB.NET は何ができてもおかしくない」と思い始めているからです。 宜しくお願いします。

    • ベストアンサー
    • noname#140971
    • Visual Basic
    • 回答数1
  • VB6.0の正規表現を使って、文字列を変更する方法は?

    よろしくお願いします。 VB6.0を使っています。 正規表現を使って、文字列を変更したいと思っています。 <DIV class=sub_pane1></DIV> <DIV class=sub_pane2></DIV> <DIV id=sub_pane3></DIV>  ↓↓↓ <DIV></DIV> 上記も文字列の変更のソースを書いたのですがなぜかできません。 つまり、DIVの属性を無くしたいのです。 何が問題なのでしょうか? Dim s As String s = "<DIV class=sub_pane1></DIV>" s = Replace(s, "<DIV*>", "")

  • VB6のテキスト処理 さまざまな文字コード/改行で対応

    VB6のテキスト処理で、Open InputとLine inputを使った場合に 文字コード/改行コードが SJIS/CRLFの時は正しく1行を読み込む事ができますが、改行がLFの時は正しく1行を読み取りません。 改行コードがLFもしくはCRの場合でも正しく1行を読み取る方法はあるのでしょうか? また、文字コードに関してもEUCやUTF-8,JISでも対応できる方法がありましたら教えて下さい。

  • VB6.0でのPhotoshopのscriptingでの制御

    VisualBasic6.0を使用して、Photoshopに自動処理をさせようとしています。 範囲選択をするのに色域指定で選択させたいのですが、VBではどの様にすればいいのでしょうか? 何かヒントになることでも良いので教えて頂ければありがたいです よろしくお願いします。

  • フォーム上の任意のコントロール上でのイベントをまとめてハンドリングする方法

    .NETにおいて、フォーム上に配置されたコントロールで発生したイベントを、各コントロールごとではなくて、まとめてハンドルする方法はないでしょうか。 例えば次のようなフォームがあります。 (Button1, Button2, Button3は、フォームに配置されたボタンとします) Public Class MyForm   Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click   End Sub End Class ボタンが3つ程度の場合はこれで良いと思うのですが、例えば(極端に言えば)ボタンが100個ある場合、 Handles Button1.Click, Button2.Click, (途中省略.....) Button100.Click と書くしかないのでしょうか。 後で対象コントロールが増えたり減ったりした場合に間違いが起こりそうなので、このような書き方は避けたいです。 フォーム上のどのコントロールでも構わないからとにかくクリックイベントが発生したことを知るための方法はないでしょうか。 例えば次のようなかんじでハンドリングできないでしょうか。 Private Sub All_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles フォーム上の任意のコントロールでのClickイベント End Sub (環境はVB.NET2005です)

  • VBの宣言について

    ACCESS VBAをはじめて使っています。FORMのコードを読んでいるのですが、宣言されていない変数を見つけました。それでプロジェクト内で宣言されているかどうか探したら、標準モジュールの中で宣言されていました。VBは同一プロジェクトの中でpublicで宣言していればimportとかincludeとか何か取り込む宣言をしなくても自動で変数を認識してくれるのでしょうか?

  • VBS どうするの?

    VBSで、 a=inputbox("0+1=") if lang=1 then  msgbox("あってます。")  else  msgbox("間違えています。") end if として、 msgbox("間違えています。") のあとに、もういちど最初(aの位置)にもどしたいときはどうすればよいでしょう? よろしくおねがいします。

  • VBS どうするの?

    VBSで、 a=inputbox("0+1=") if lang=1 then  msgbox("あってます。")  else  msgbox("間違えています。") end if として、 msgbox("間違えています。") のあとに、もういちど最初(aの位置)にもどしたいときはどうすればよいでしょう? よろしくおねがいします。

  • エクセルVBAのオブジェクトのハンドリングについて

    一応以下のVBAを作って稼動していますが、もっとスマートな方法はないでしょうか。ご存知の方よろしくお願いもうしあげます。 シートやフォームのボタン・ラベルのキャプション、テキストボックスのテキスト、チェックボタンの値をiniファイルに保存し、次回それを使用するVBAを作りました。 iniファイルの中身は以下ようになっています。 [シート名] CommandButton1.Caption=xxxx Label3.Caption=yyyy TextBox6.Text=zzzz ・ ・ [フォーム名] CommandButton8.Caption=xxxx Label5.Caption=yyyy ・ ・ iniファイル作成時はkeyには"CommandButton1.Caption"、その値にはSheets("シート名").CommandButton1.Captionなどの様に個々のオブジェクトを指定しています。 iniファイル読取時はSelect Case文でkey"CommandButton1.Caption"だったら.CommandButton1.Captionに値をセットするようにしています。 セットする個々のオブジェクト全てに書出し、読取りを行っていますのでとても冗長なVBAの記述になっています。 個々のオブジェクトを指定せずに書き出す方法、及びiniファイルに書かれているオブジェクト名で該当オブジェクトに値を設定する方法が知りたいのです。

  • VB.NETでSQLを作る時のカンマの対処

    こんにちは。 タイトルの通りなのですが、VB.NETでSQL文を作りたいのですが、カンマの対処について分からなかったので質問させて頂きました。 例えば、下記のようなテーブルとwindowsアプリケーションフォームがあったとします。 itemテーブル                 フォーム(□はチェックボックスだと思ってください。) item_id  item_cd  item_name        □ りんご ---------------------------------       □ ばなな 0001    0001    りんご        □ みかん 0002    0002    ばなな        □ めろん 0003    0003    みかん 0004    0004    めろん このフォームで、チェックボックスに印が付いているものを、SQL文の条件に加えたいと思っていますが、なかなか上手く書けません。 現在のソース sql="SELECT item_id,item_cd,item_name " _   & "FROM item " _   & "WHERE item_name IN (" If apple.checked = True Then   sql &= "'" & label1.text & "'," End If If banana.checked = True Then   sql &= "'" & label2.text & "'," End If         ・         ・         ・ このやり方だと、sql文の最後にカンマが残ってしまいます。 ですが、前カンマをやったところで構文的におかしくなってしまいます。 このようなとき、どのように対処すればよいのでしょうか? よろしければ、教えてください。

  • vb 配列の再検索について

    こんばんは、 vbで悩んでいます。  配列の検索で、みつかったら、行と位置を出力する でた結果の次の行から 再検索する ということをしたいのですが。 一回目の検索はできるのですが、ボタンをおしたら つづいて 検索できるようにしたいのです。 できたら、アドバイス等おねがいいたいします。 Dim i,r,j As Integer Dim a1() As String Dim a2 As String a2 = Text.Text For j = LBound(a1) To UBound(a1) r = r + 1 i = a1(j).IndexOf(a2, 0) Do Until i <> 0 text1.Text = Val(i + 1)  i = a1(j).IndexOf(a2, i + 1) text2.Text = r  text3.Text = a1(j) If i <> 0 Then Exit For End If Loop Next a1に以下の内容があった時 a1(0) = "例1" a1(1) = "例2" a1(2) = "例3" ”例”と検索をかけると、 text1.Textには 1と出力。(位置表す) text2.Textには 1と出力。(行表す) text3.Textには 例1と出力。 exit for でループをぬけているのですが。 これを、検索ボタンを押すたびに、行と位置 が表示されるようにしたいのですが、 アドバイスおねがいします。

  • SQLを時間ごとに発行したい

    ■やりたいこと ・テキストに書いてあるSQLを発行したい ・何分かごとにSQLを自動発行したい ■できていること ・CSVに結果を吐き出すようにSQLは組んでテキストに記述済み ・SQLのテストは完了 ・時間ごとはタスクスケジューラを使うのかな?と考えている 上記のような感じです。 スクリプトは考え付いてません。 SQLを発行するに当たってなのですが・・・・ まだどういったDBを使うかを検討している段階なのでいかんとしがたい部分もありますがローカルから何らかの接続をして発行するのかとも思います。 SQL以外はどうしたらよいかも検討がついておりませんのでどなたかよろしくお願いします。

  • 文字列操作

    Visual Basic6.0 よろしくお願いします。 (1) a12bc34d56ef (2) a12bc3456 のような文字列から (1) 一番後ろの数字56 の前のa12bc34d (2) 一番後ろの数字3456 の前のa12bc を消して (1) 56ef (2) 3456 にしたい 場合はどうすれば良いでしょうか? 便利な関数や方法がありましたら教えてください。 お願いいたします。

  • 文字列操作

    Visual Basic6.0 よろしくお願いします。 (1) a12bc34d56ef (2) a12bc3456 のような文字列から (1) 一番後ろの数字56 の前のa12bc34d (2) 一番後ろの数字3456 の前のa12bc を消して (1) 56ef (2) 3456 にしたい 場合はどうすれば良いでしょうか? 便利な関数や方法がありましたら教えてください。 お願いいたします。