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

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

ファイルが消えない / 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
下に出すには / スージーさん
お世話になります。
BALLOONやSLCTBOXやCREATEFORMなど、FOM_TOPMOSTなどで、全面に固定とかはできるようですが、デスクトップ上のファイルアイコンやショートカットの下に表示することはできないでしょうか。

No.1034 2020/11/26(Thu) 07:35:42

Re: 下に出すには / stuncloud
僕の知る限りではできないです
操作できなくても良いのであれば、壁紙としてむりやり表示させるという手はありそうですが…

No.1035 2020/11/26(Thu) 09:39:24

Re: 下に出すには / stuncloud
よもやと思い検索してみたら出てきましたね…
https://stackoverflow.com/questions/17512685/put-a-window-behind-desktop-icons

そこからリンクされてたもの
https://stackoverflow.com/questions/34952967/drawing-to-the-desktop-via-injection
なにか描画することは可能といえば可能っぽいですね?

詳しくはこっちみたいですね
https://www.codeproject.com/Articles/856020/Draw-Behind-Desktop-Icons-in-Windows-plus
WorkerWというウィンドウを挟み込んでそこに子ウィンドウを追加してますね
(あっでもボタン操作とかそのままだとできないのか…これはUWSCになんとかできるやつなのか…?)

というわけで、結論はやる気と根気次第?ですね!

No.1036 2020/11/26(Thu) 09:58:20

Re: 下に出すには / stuncloud
やってみました

https://gist.github.com/stuncloud/432e8267f08e738c71fafd011b8ea36f

僕の環境ではあらゆるウィンドウの下には行くものの、アイコンの下には潜り込ませられませんでした
なにかやり方が間違ってるのかもしれません…

No.1037 2020/11/26(Thu) 18:31:59

Re: 下に出すには / スージーさん
>訳 デスクトップアイコンの背後に描画、
>訳 家の窓に車の絵を描くことと、実際に居間に車を駐車することの違い、、
う〜ん、stuncloudさんでも、できなかったですか、
ワタシの環境では、ウィンドウの上のままでした、ありがとうございました。

No.1038 2020/11/26(Thu) 18:47:56
元文が、残ってしまう / seen
お世話になります。
どうしても解決できそうにないので、お願いします。
全文○は、xにかえられるのですが、同時に元文が残ってしまいます、どこか間違っているのでしょうか。

fid = FOPEN("testtxt",F_READ or F_WRITE) 
   atai = FGET(fid, F_ALLTEXT)   
    atai = REPLACE(atai, "○", "x")  
  FPUT(fid, atai)         
FCLOSE(fid)     

No.1031 2020/11/24(Tue) 07:27:07

Re: 元文が、残ってしまう / しろまさ
FPUT のデフォルト動作が「追記」だからです。
第三引数に F_ALLTEXT を入れてください(uwsc.chm参照)

No.1032 2020/11/24(Tue) 11:16:55

Re: 元文が、残ってしまう / seen
見逃していました、素早いアドバイスありがとうございました。
No.1033 2020/11/24(Tue) 20:04:39

以下のフォームに記事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