前のログ↓
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200607/06070021.txt
こんにちは良です。いつもお世話になっております。
動作環境はVB.NET2003 WinXpです。
今やっているソースを載せます。
'スプレッド
With Me.setNameList
'チェックボックスにチェックがされていたら変数にはそこの列の1列目の値(社員ID)を格納
For intX = 1 To intDataCnt
'列の設定
.Col = 4
.Row = intX
'チェックが入っていた場合
If .Value = True Then
'チェックが入っていた項目の一列目の社員IDを格納する
.GetText(1, intX, objVal)
nameChk &= CInt(objVal)
objVal = Nothing
End If
Next
End With
この場合にnameChkの変数にobjValからとってきた値を格納するんですが
nameChkに「1001」と「1006」を格納する場合に「10011006」
となってしまいます。これを「1001,1006」としたい場合にどうすれば
よろしいでしょうか?
普通にnameChk & "," &=CInt(objVal)
とやったら波線が出てしまいました。
あ!カンマをつけたいなら
nameChk &= CInt(objVal)
より
nameChkをString型にして
nameChk &= CStr(objVal)
にしないとエラーになりますか?
変数 &= 社員コード & ","じゃ駄目ですか?
↑でOKな場合、右端に","が付加されるので「Microsoft.VisualBasic.Left」
を使用して、必要な分だけ切り出してください。
あとは、動的配列に格納してJOIN関数でつなげるとか・・・
以上です。お役に立てれば幸いです。
こんにちは良です。
>旅芸人さん
ありがとうございました
どうやら型をInteger型にしたから
カンマは消されてたみたいです。
String型にしたらうまくいきました。
どうもありがとうございましたm(__)m
ツイート | ![]() |