117268
UWSC 仮 掲示板
投稿時に「証明書が不正です」と出る場合には、JavaScriptをオン
動作不具合での質問の場合には環境を表記(OS,バージョン等)
タイトルは内容を表し、内容はネットゲーム関係禁止
自身でコードを書く気の無いナマケモノは特に質問禁止
失敗作でもコードを投稿すること(具体性の無い質問は無視される可能性大)

UWSC掲示板 が復活することを祈り、それまでの繋ぎとして。
環境設定[s7777777]

SENDSTRについて教えてください / 藍
いつもお世話になります。

webシステムで支店コードのところに代入しようとしています。
SENDSTR(id, "123456", 7, True)の番号7の部分なのですが、
機種??によって「8」になったりします。

windows10 64ビット、ie11を利用

同一の環境で実行しているつもりですがこのような事象が発生します。
なぜなのか理由がわかりません。ご存じの方がいましたら教えてください。
よろしくお願いいたします。

No.1068 2021/01/05(Tue) 18:10:46

Re: SENDSTRについて教えてください / stuncloud
> webシステムで
ということは何かしらのブラウザだったりするのでしょうか
環境によってエディットボックスの数が異なるのだと思われます
例えば、一方はアドレスバーのみだがもう一方はアドレスバーと検索バーがある、など
この場合検索バーが増えた分、sendstrの番号指定が一つずれるという具合です

対処法として思いつくのは

・いずれの環境でもウィンドウの状態を揃えるようにする

ですがそれが難しい場合、あるいは原因ではなかった場合は

・入力先に初期値があるならgetstr(id, 7)して比較
  その場所に入力して良いならそのまま7にsendstr
  だめなら8にsendstr
  (きちんとするならgetstr(id, 8)も調べる)

といった感じで入力できる場所を適宜探すのが良いと思います

No.1069 2021/01/06(Wed) 10:40:18

Re: SENDSTRについて教えてください / 藍
stuncloud様 返信ありがとうございます。
ブラウザーはie11を利用しています。
PCは複数台ありウィンドウの状態を揃えのは難しいため
アドバイス通り入力できる場所を適宜探す方法で対処しました。
ありがとうございました。

No.1070 2021/01/06(Wed) 16:46:05
ネットストックハイスピードに証券番号が自動入力できない / nanashi
お疲れ様です。
windows10 64bit環境で下記ブログにあるように松井証券のネットストックハイスピードのチャートを自動で保存しようとしているのですが、code入力の部分がうまく動きませんでした。
"ComboBox"でなくて"Edit"でないかなとか、o_HNDそのものを使って書き換えられないかなとか、マウス右クリックでペースト出来ないかなどもろもろ試したのですがうまくいきませんでした。
もし入力が成功する人がいましたら、やり方を教えてほしいです。
よろしくお願いいたしますmm

元サイト:http://www.m-trader.net/chart_funasi2
code入力の部分
```
//銘柄のCode入力処理開始。
w_ID = GetID(windowTitle)
o_HND = GetCtlHND(w_ID, "ComboBox")
o_ID = HNDtoID(o_HND)
CTRLWIN(w_ID, ACTIVATE)
SENDSTR(o_ID, code, 1, True)
KBD(VK_RETURN)
//銘柄のCode入力処理終了
```

No.1067 2020/12/28(Mon) 00:12:36
ファイルが消えない / selon
助けてください、タスクマネージャに、なぜか、exeファイルが残り、毎回、手動で消さなければなりません、xxx.exeを消す方法を教えていただけないでしょうか。
No.1064 2020/12/24(Thu) 07:42:44

Re: ファイルが消えない / yanyan
何のexeファイルが、なぜ残るかわかりませんが、TASKを強制的に消すなら、UWSCではexecでTASKKILL.ExEを実行するとかで消せます。
No.1065 2020/12/24(Thu) 14:38:11

Re: ファイルが消えない / selon
yanyanさん、ありがとうございます、助かりました。
No.1066 2020/12/24(Thu) 15:15:20
ループ処理を抜けたい / YMD
下記のプログラムを実行するとループ処理はされるのですが条件を満たしても止まりません。
間違いのある個所を教えてください。ループを抜ける条件はエクセルの(A13:M13)の赤色セルが6個になったらです。
よろしくお願いします。


xls=GETACTIVEOLEOBJ("Excel.Application")
xls.Visible=TRUE

a = 0

REPEAT
(処理)
UNTIL For i = 1 To 13
IFB xls.Worksheets("sheet1").Cells(13, i).DisplayFormat.Interior.ColorIndex = 3 Then
a = a + 1
ENDIF
NEXT
a = 6

No.1054 2020/12/22(Tue) 06:20:11

Re: ループ処理を抜けたい / stuncloud
これ動くんですか…?
> UNTIL For i = 1 To 13
コピペミスかしらん

ループを抜けるのはbreakです
if a = 6 then break
でaが6なら今のループを抜けます
多重ループの抜け方というのもあるので、詳しくはヘルプを見てください

No.1055 2020/12/22(Tue) 13:55:19

Re: ループ処理を抜けたい / YMD
> これ動くんですか…?
> > UNTIL For i = 1 To 13
> コピペミスかしらん


恥ずかしながらコピペミスです///

>
> ループを抜けるのはbreakです
> if a = 6 then break
> でaが6なら今のループを抜けます
> 多重ループの抜け方というのもあるので、詳しくはヘルプを見てください



REPEAT
(処理)
UNTIL(条件式)

で条件式がTRUE つまりAが6になったらループを抜けるのではないのですか?
初心者なのでサンプルコードなど書いていただけると助かります。

No.1056 2020/12/22(Tue) 16:22:52

Re: ループ処理を抜けたい / しろまさ
>で条件式がTRUE つまりAが6になったらループを抜けるのではないのですか?
これが解っているならまず書いて試す。

>初心者なのでサンプルコードなど書いていただけると助かります。
甘えすぎ。アドバイスを受けて修正したコードをテストして
それでもダメならそのダメなコードを張り付けて再質問するように。

ここは作成依頼掲示板ではありません。

No.1057 2020/12/22(Tue) 16:33:08

Re: ループ処理を抜けたい / stuncloud
> で条件式がTRUE つまりAが6になったらループを抜けるのではないのですか?
repeatとforがあってどっちを抜けたいのかがわからず、どちらでも抜けられるbreakを提示しました
・提示されたコードに誤りがある
・説明不足
だと十分な回答はできませんよ

ちなみに条件式ってのは a = 6 なのでじゃあそれをuntilに書いてみたらいいんじゃないかな!

No.1058 2020/12/22(Tue) 16:40:23

Re: ループ処理を抜けたい / YMD
> > で条件式がTRUE つまりAが6になったらループを抜けるのではないのですか?
> repeatとforがあってどっちを抜けたいのかがわからず、どちらでも抜けられるbreakを提示しました。


大変失礼しました。REPEATの方でお願いします。

> ・提示されたコードに誤りがある

コピペミス治してみました。
よろしくお願いします。

xls=GETACTIVEOLEOBJ("Excel.Application")
xls.Visible=TRUE

a = 0

For i = 1 To 13
IFB xls.Worksheets("sheet1").Cells(13, i).DisplayFormat.Interior.ColorIndex = 3 Then
a = a + 1
ENDIF
NEXT

REPEAT
(処理)
UNTIL a = 6

> ・説明不足
> だと十分な回答はできませんよ
>
> ちなみに条件式ってのは a = 6 なのでじゃあそれをuntilに書いてみたらいいんじゃないかな!


やってみてだめだったのでこちらのサイトで質問させていただきました。

No.1059 2020/12/22(Tue) 19:35:32

Re: ループ処理を抜けたい / YMD


> > で条件式がTRUE つまりAが6になったらループを抜けるのではないのですか?
> repeatとforがあってどっちを抜けたいのかがわからず、どちらでも抜けられるbreakを提示しました。


大変失礼しました。REPEATの方でお願いします。

> ・提示されたコードに誤りがある

コピペミス治してみました。
よろしくお願いします。

xls=GETACTIVEOLEOBJ("Excel.Application")
xls.Visible=TRUE

a = 0

For i = 1 To 13
IFB xls.Worksheets("sheet1").Cells(13, i).DisplayFormat.Interior.ColorIndex = 3 Then
a = a + 1
ENDIF
NEXT

REPEAT
(処理)
UNTIL a = 6

> ・説明不足
> だと十分な回答はできませんよ
>
> ちなみに条件式ってのは a = 6 なのでじゃあそれをuntilに書いてみたらいいんじゃないかな!


やってみてだめだったのでこちらのサイトで質問させていただきました。

No.1060 2020/12/22(Tue) 19:36:26

Re: ループ処理を抜けたい / stuncloud
> a = a + 1
これをどこでやるか、という話ですね
repeat-untilの中でaが6になるとループを抜ける
というのはつまり、6にならないとループを抜けない
ということなのはわかりますか?
repeat-untilの中でaを6にする処理が必要です
つまりfor文が書かれるべき場所は…?

さて、上に書いたことが理解いただけたならuntilでループを抜けられるようになったかもしれませんが、状況によっては抜けられていないかもしれません
すなわちuntilに到達した時点でaが7以上になっていた場合ですね
aが6じゃないので抜けられません
forの処理を見る限りaが7以上になる可能性も捨てきれませんから、forもa = 6の時点で抜けられたほうがいいかもしれません
その場合は先のbreakを使います
あるいはuntilの条件式をa >= 6にする

No.1061 2020/12/22(Tue) 22:17:06

Re: ループ処理を抜けたい / stuncloud
にっちもさっちもいかないというならサンプルも書きますけど
その場合は何がしたいか明確にしてしただけますか

・repeat-until内の処理ってなにやってんの?
・赤が6つなら処理を終えたいということは、赤の数は6未満の数からだんだん増えるものなの?増えるならどうすると増えるの?
・赤が7つ以上になっちゃったらどうするの?

このあたりがわかんないです
なんとなく漠然とですけど

repeat
 //なんか処理
until 赤を数える関数() = 6

みたいな事がしたいのかな?という気はしますが
> ・説明不足
> だと十分な回答はできませんよ

の状態は依然続いているのでご協力お願いします

No.1062 2020/12/22(Tue) 22:34:59

Re: ループ処理を抜けたい / YMD
> > a = a + 1
> これをどこでやるか、という話ですね
> repeat-untilの中でaが6になるとループを抜ける
> というのはつまり、6にならないとループを抜けない
> ということなのはわかりますか?
> repeat-untilの中でaを6にする処理が必要です
> つまりfor文が書かれるべき場所は…?


できました!このような初歩的な質問に回答して下さりありがとうございます!

>
> さて、上に書いたことが理解いただけたならuntilでループを抜けられるようになったかもしれませんが、状況によっては抜けられていないかもしれません
> すなわちuntilに到達した時点でaが7以上になっていた場合ですね
> aが6じゃないので抜けられません
> forの処理を見る限りaが7以上になる可能性も捨てきれませんから、forもa = 6の時点で抜けられたほうがいいかもしれません
> その場合は先のbreakを使います
> あるいはuntilの条件式をa >= 6にする


親切にありがとうございます!

No.1063 2020/12/22(Tue) 23:45:04
連想配列を値でソートしたい / YMK
HASHTBL DAT
DAT[Aさん] = 70
DAT[Bさん] = 55
DAT[Cさん] = 90


とした時、値順にソートして

For i in DAT
 print (i +"特典は" +dat[i])
next

の様に出力したいです。

No.1050 2020/12/11(Fri) 14:33:29

Re: 連想配列を値でソートしたい / satocha
UWSCの連想配列は、宣言時にhash_sortを指定すると、キーでソートしてくれます。
実際には値のほうでソートしたいわけですから、キーと値が逆順の連想配列を作ってコピーしてあげればうまく行きます。

その際、キーと値が必ずしも一対一対応するわけではないので、値が衝突したときのことを考えておく必要があります。

HASHTBL DAT
HASHTBL Reverse=Hash_sort
DAT["鈴木さん"] = 70
DAT["佐藤さん"] = 55
DAT["中村さん"] = 90
DAT["田中さん"] = 65
DAT["高橋さん"] = 55
DAT["木村さん"] = 65

for i=0 to length(dat)-1
  name=dat[i,hash_key]
  point=dat[i,hash_val]
  if Reverse[point]<>""
    Reverse[point]=Reverse[point]+","+name
  else
    Reverse[point]=name
  endif
next

for i=0 to length(Reverse)-1
  names=Reverse[i,hash_val]
  point=Reverse[i,hash_key]
  for name in split(names,",")
    print name+"は"+point
  next
next
sleep(13)

No.1051 2020/12/11(Fri) 15:58:11

Re: 連想配列を値でソートしたい / satocha
追加です

連想配列のキーは文字列ですので、先に挙げたスクリプトは1ケタ得点の人がいたり100点満点がいると調子悪いかもしれません。
どうしたらいいか考えてみてください。



※ヒント:ゼロ埋め

No.1052 2020/12/11(Fri) 16:21:08

Re: 連想配列を値でソートしたい / YMK
有難うございます、無事出来ました。

連想配列の上限を知る場合は「RESIZE」ではなく、
「length」を使うのも参考にさせて頂きました。

No.1053 2020/12/12(Sat) 12:37:19
COM_Errorについて / IKU
しろまさ様

このようなサイトがあったんですね初めて知りました。
すごく嬉しいです。ありがとうございました!!

無事解決しました、本当にどうもありがとうございました。

No.1048 2020/12/02(Wed) 15:51:20

Re: COM_Errorについて / しろまさ
解決できて何よりです。

返信は各記事の右上にある Res を押してから書き込むと記事が下に続きます。
関連の話題は新規投稿ではなく、返信(Res)でお願い致します。

No.1049 2020/12/03(Thu) 08:55:01
COM_Errorについて / IKU
返答ありがとうございます。

”対象となるWorkbookを開いていないからです。”

を試しました、そのやり方だと通常通り動くのですが、やりたいことは既存のエクセルファイルに入力したいのです。
その場合だとCOM_Errorになります。

それとuwscの高レベル記録設定をして
マクロ記録で Excelウィンドウを動かすと挙動がおかしいです、エクセルも再インストールしたのですがやっぱりおかしいです。
他のパソコンでも試しましたが同じような感じです。

uwscに何か原因があるのでしょうか?それとも Windows 10になってから何か変わったのでしょうか?

No.1046 2020/12/02(Wed) 14:37:28

Re: COM_Errorについて / しろまさ
>> 既存のエクセルファイルに入力したい
?@ 既存XLファイルを起動してから処理
?A 起動済XLファイルを処理
のパターンが考えられます。

http://siromasa.html.xdomain.jp/uwsc/u_term/ExcelApplication.html
の中で、
?@は「オブジェクト作成    CreateOLEObj    ?A」
?Aは「オブジェクト取得    GetActiveOleObj   ?@」
を参考にしてください。

No.1047 2020/12/02(Wed) 15:22:59
IKU / COM_Errorについて
返信ありがとうございます。
EXCEL.RANGE("A1").Valueで試しても
EXCEL = CREATEOLEOBJ("Excel.Application")の行でエラーになります。

管理者権限の話ありがとうございました参考にさせてもらいます。

No.1045 2020/12/02(Wed) 14:29:08
COM_Errorについて / IKU
起動中のエクセル操作でCOM_Errorになります。

---------------------------------------------------------------------
EXCEL = CREATEOLEOBJ("Excel.Application") // COMオブジェクトの作成
EXCEL.RANGE("A1")="123"
---------------------------------------------------------------------

です。 WIN10とEXCEL2019です。

原因は管理者権限と書いている掲示板を見つけましたが、UWSCは管理者権限なっておりません。UWSCは管理者権限ありでも試しました。

バージョンはuwscpro5302・uwscpro_4_6b.exeを試しました。

親切な方教えてもらえませんか。

No.1042 2020/12/01(Tue) 19:22:36

Re: COM_Errorについて / stuncloud
EXCEL.RANGE("A1").Value ="123"
でどうでしょうか
Valueは省略可能だったと記憶してますが、省略した場合の動作がうまく行ってないという可能性がある…のかも?

ちなみに管理者権限云々についてですが、これは闇雲にやっても意味のないものです
他所だとおまじないレベルでとりあえず言い出す人が結構いるんですよね…正直やめてほしい…

UWSCを管理者として実行する必要があるのは
・操作対象のアプリケーションが管理者として実行されている
・管理者特権を必要とするファイルやレジストリ、システム設定などの操作する
といった場合くらいです

Excelが管理者として実行されてるということはそうそうないはずですし、Excelをわざわざ管理者として実行する必然性もないので、UWSCも通常実行で問題ないです

No.1043 2020/12/02(Wed) 01:08:05

Re: COM_Errorについて / yanyan
対象となるWorkbookを開いていないからです。

EXCEL = CREATEOLEOBJ("Excel.Application") // COMオブジェクトの作成
Excel.Visible = True
Excel.Workbooks.Add
EXCEL.RANGE("A1")="123"

No.1044 2020/12/02(Wed) 06:56:49
IEで印刷時にカスタム倍率欄に数値を入力する方法 / naru
お世話になります。

IEでホームページの印刷を行いたいのですが、うまく1枚に収めるために
印刷プレビューからカスタムを選択し「75」といったコード入力をしたいです。

~~~~~~~~~~~~
CLKITEM(XXX, "印刷プレビュー", CLK_LEFTCLK)
で印刷プレビューを表示後、カスタムをうまく触る方法が分かりません。
ご教授いただけないでしょうか。

No.1039 2020/11/27(Fri) 16:49:29

Re: IEで印刷時にカスタム倍率欄に数値を入力する方法 / Rayna
>>1039 naru さん

 // Win10 IE11

 // UIを操作する上でショートカットキーが設定されている場合は使うと楽です
 // 設定されている場合、大体マウスオーバーで表示されます

 // 操作しようとしてるドロップダウンリストは [Alt] + [S] で選択できるので
 // 選択した後 [PageDown] 等で一番下までスクロールできます
 // 更に倍率指定のエディットボックスも [Alt] + [T] で選択できるので
 // 選択した後 倍率を SendStr してあげましょう
 // 最後に [TAB] でフォーカスを移すことで倍率を確定させます

 Dim idWnd = GetId("印刷プレビュー")
 ScKey(idWnd, VK_ALT, VK_S)
 ScKey(idWnd, VK_NEXT)
 ScKey(idWnd, VK_ALT, VK_T)
 SendStr(idWnd, "75")
 ScKey(idWnd, VK_TAB)

No.1040 2020/11/27(Fri) 22:34:16

Re: IEで印刷時にカスタム倍率欄に数値を入力する方法 / naru

Rayna様

返信ありがとうございます。
早速試させていただき無事動作いたしました。

内容もイメージしやすいものですから忘れずに覚えておこうと思います。
感謝です。

No.1041 2020/11/30(Mon) 12:33:24

以下のフォームに記事No.と投稿時のパスワードを入力すれば
投稿後に記事の編集や削除が行えます。
200/200件 [ ページ : << 1 ... 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 >> ]

- HOME - お知らせ(3/8) - 記事検索 - 携帯用URL - フィード - ヘルプ - メール - 環境設定 -

- Skin: Modern v2.0 - Author: ロケットBBS -

Rocket Board Type-X (Free) Rocket BBS