UWSC 掲 示 板
投稿時に「証明書が不正です」と出る場合には、JavaScriptをオンにしてください
動作不具合での質問の場合には環境(OS,IEのバージョン等)の表記もしてください
タイトルは質問内容を表したものにしてください
ネットゲーム関係の質問はご遠慮ください

複数のExcelブックへ複数のUWSCスクリプトから別々の処理をしたい。 / たいし
windows10 64bit
Excel 2013

windows7の時は以下で動作していたのですが
10アップグレード後、数年たって昔のスクリプトを動かすと
前面にあるブックへの書き込みになってしまい、それぞれへの
同時処理ができなくなってしまいました。

修正方法を指南していただけるとありがたいです。


・やりたいこと
 11.xlsx、22.xlsxを開いた状態で
 11.uwsから11.xlsxへの書き込み
 22.uwsから22.xlsxへの書き込み
 を、同時起動して処理したい。

// 11.uws
Excel = GETACTIVEOLEOBJ("Excel.Application", "11.xlsx")
for i = 0 to 100
Excel.ActiveCell.Offset(i, 0).value = "11 " + i
sleep(1)
next

// 11.uws
Excel2 = GETACTIVEOLEOBJ("Excel.Application", "22.xlsx")
for i = 0 to 1000
Excel2.ActiveCell.Offset(i, 0).value = "22 " + i
sleep(1)
next

よろしくお願いいたします。

No.3475 2017/02/11(Sat) 13:41:55

Re: 複数のExcelブックへ複数のUWSCスクリプトから別々の処理をしたい。 / たいし
↑ // 11.uws → // 22.uws 訂正します。すいません
No.3476 2017/02/11(Sat) 16:35:37

Re: 複数のExcelブックへ複数のUWSCスクリプトから別々の処理をしたい。 / miles
> 前面にあるブックへの書き込みになってしまい、
ActiveCellの切り替えがうまくいかないなら、
Row,Columnを取得して、裏で操作したらどうでしょうか?
(必要ならsheet名も取得)

Excel = GETACTIVEOLEOBJ("Excel.Application")
With Excel.WorkBooks("11.xlsx")
 .Activate
 x = Excel.ActiveCell.Row
 y = Excel.ActiveCell.Column
// name = .ActiveSheet.Name
 for i = 0 to 100
  .WorkSheets(1).Cells(x+i, y).value = "11 " + i
//  .WorkSheets(name).Cells(x+i, y).value = "11 " + i
  sleep(1)
 next
EndWith

No.3479 2017/02/14(Tue) 16:45:41
EXCELの行を非表示にしたい / もり
excelで値がセットされていない行を非表示に、セットされている行を表示したいのですが。

宜しくお願いいたします。

No.3477 2017/02/13(Mon) 10:53:16

Re: EXCELの行を非表示にしたい / stuncloud
もう少し要件をつめてください

> 値がセットされていない行
それはその行のすべての列に値がないということですか?それとも特定の列だけ?

フィルタを使いたいという話ですか?
それとも1行1行確認して非表示にしていく?
行の範囲は?

No.3478 2017/02/13(Mon) 11:30:08
AirDroid3.4.0.1のメッセージ作成ボタンが押せません。 / ちっき
AirDroid3.4.0.1とエクセル(EXCEL2016)一覧表を組み合わせて、スマホからショートメールを自動的に送信する動作の記録に挑戦しているのですが、UWSCの「低レベル記録」「高レベル記録」のどちらを利用しても、メッセージ作成ボタンを押すことができません。このような特定のアプリについての不具合の解決は難しいのかもしれませんが、解決方法や代案等について、ご教示いただける方がおりましたら、よろしくお願いいたします。
ちなみに同様の操作をmysmsというソフトでは問題なく操作可能です。

No.3471 2017/02/09(Thu) 20:08:14

Re: AirDroid3.4.0.1のメッセージ作成ボタンが押せません。 / stuncloud
> mysmsというソフトでは問題なく操作可能
なのであればそれ使ったら良いんじゃないですかね?
> 同様の操作
が出来るのならなんの不都合もないはずですし
そのmysmsとやらをUWSCで操作されたらどうでしょう

No.3474 2017/02/10(Fri) 09:44:06
READINIの変数で値を取得について / NER
READINIの変数で値を取得したいのですができません、何か良い方法ないでしょうか?
下記の2つパターンのコードで試しています。

(1つ目パターン)
ID = READINI("ID1","id","C:\Users\ランダム.INI")
ID1 = READINI("ID2","id","C:\Users\ランダム.INI")
ID2 = READINI("ID3","id","C:\Users\ランダム.INI")
ID3 = READINI("ID4","id","C:\Users\ランダム.INI")
ID4 = READINI("ID5","id","C:\Users\ランダム.INI")
ID5 = READINI("ID6","id","C:\Users\ランダム.INI")


for i = 1 to 5
tes="id"+i
print tes
i=i+1
next


(2つ目パターン)

ID = READINI("ID1","id","C:\Users\ランダム.INI")
ID1 = READINI("ID2","id","C:\Users\ランダム.INI")
ID2 = READINI("ID3","id","C:\Users\ランダム.INI")
ID3 = READINI("ID4","id","C:\Users\ランダム.INI")
ID4 = READINI("ID5","id","C:\Users\ランダム.INI")
ID5 = READINI("ID6","id","C:\Users\ランダム.INI")


for i = 1 to 5
tes=id+i
print tes
i=i+1
next

No.3472 2017/02/09(Thu) 22:29:56

Re: READINIの変数で値を取得について / しろまさ
tes=id+i

tes=READINI("ID" + i ,"id","C:\Users\ランダム.INI")
でいいんじゃないですか?

それと i=i+1 は書く意味ないですよ。

No.3473 2017/02/10(Fri) 08:53:51
IEのスクリプトの操作について / やま
http://jp.demotrade.highlow.net/Trading
上記のサイトのスクリプト部分の操作は、どの様にすればよいのでしょうか。
具体的には、取引方法の切り替えと通貨の選択です。
いろいろ試していますが、うまく動作しません。
よろしくお願い致します。

No.3467 2017/02/08(Wed) 09:24:58
既に開いているSleipnirを操作したい / こっこ
通常はIEで行っている処理を、Sleipnirで行いたいです。

既に開いているSleipnirを操作したいのですが
IEの時に使うGETACTIVEOLEOBJは利用できないのでしょうか。
もし利用できないのであれば、これに代わるものはありますか。

GETACTIVEOLEOBJ("Sleipnir.API")とすると
COM_ERROR:操作を利用できません と表示されて動きません。
ちなみに、CreateOLEobj("Sleipnir.API")では正常に新規画面が開きます。

なんだか単純な質問で申し訳ないのですが
調べても分かりませんでして、よろしくお願い致します。

No.3462 2017/02/06(Mon) 23:33:58

Re: 既に開いているSleipnirを操作したい / stuncloud
> GETACTIVEOLEOBJ("Sleipnir.API")とすると
これはむりです
既に開いてるものでも
> CreateOLEobj("Sleipnir.API")
すれば操作できたはずなんだけどだめですか?
そういう使い方してた気がするんだけどな、記憶違いだったかな…

No.3463 2017/02/07(Tue) 11:16:20

Re: 既に開いているSleipnirを操作したい / こっこ
ありがとうございます!

> CreateOLEobj("Sleipnir.API")
これで認識されているようです。

助かりました。本当にありがとうございました。

No.3466 2017/02/07(Tue) 23:47:07
ランチメニュの簡素化について / タカハシ
WriteIniの第3引数をtitl、pathの交互に出力する処理がなかなか思い浮かびません。
何か良い方法ないでしょうか?

sec="LUNCHMENU"
t_path="C:\Users\aruke\Desktop\T1.txt"
t_path1="C:\Users\aruke\AppData\Roaming\UWSC\UWSC.INI"
Dim res = test_hairetu(t_path)

for i in res
print "WriteIni(<#DBL>LUNCHMENU<#DBL>,<#DBL>"+i+"<#DBL>,path,t_path1)"
next


function test_hairetu(t_path)
fid = FOPEN(t_path,F_READ or F_WRITE)
list = FGET(fid,F_LINECOUNT) //---ファイル内の行数を返す
Dim アカウント[list] //---配列の宣言
count=1
for i = 0 to list-1
 アカウント[i] = FGET(fid,count) //---配列:アカウントに挿入
count=count+1
next
FCLOSE(fid)
result = slice(アカウント, 0, length(アカウント)-1)
fend

上記のコードでは下記になる。
WriteIni("LUNCHMENU","T1",path,t_path1)
WriteIni("LUNCHMENU","s1",path,t_path1)
WriteIni("LUNCHMENU","T2",path,t_path1)
WriteIni("LUNCHMENU","s2",path,t_path1)
WriteIni("LUNCHMENU","T3",path,t_path1)
WriteIni("LUNCHMENU","s3",path,t_path1)
WriteIni("LUNCHMENU","T4",path,t_path1)
WriteIni("LUNCHMENU","s4",path,t_path1)
WriteIni("LUNCHMENU","T5",path,t_path1)
WriteIni("LUNCHMENU","s5",path,t_path1)
WriteIni("LUNCHMENU","T6",path,t_path1)
WriteIni("LUNCHMENU","s6",path,t_path1)


【したい処理】
WriteIni("LUNCHMENU","T1",titl,t_path1)
WriteIni("LUNCHMENU","s1",path,t_path1)
WriteIni("LUNCHMENU","T2",titl,t_path1)
WriteIni("LUNCHMENU","s2",path,t_path1)
WriteIni("LUNCHMENU","T3",titl,t_path1)
WriteIni("LUNCHMENU","s3",path,t_path1)
WriteIni("LUNCHMENU","T4",titl,t_path1)
WriteIni("LUNCHMENU","s4",path,t_path1)
WriteIni("LUNCHMENU","T5",titl,t_path1)
WriteIni("LUNCHMENU","s5",path,t_path1)
WriteIni("LUNCHMENU","T6",titl,t_path1)
WriteIni("LUNCHMENU","s6",path,t_path1)


【T1.txt】
T1
s1
T2
s2
T3
s3
T4
s4
T5
s5
T6
s6

No.3459 2017/02/06(Mon) 15:05:56

Re: ランチメニュの簡素化について / しろまさ
// pathが不明ですが。。

sec="LUNCHMENU"
t_path="C:\Users\aruke\Desktop\T1.txt"
t_path1="C:\Users\aruke\AppData\Roaming\UWSC\UWSC.INI"
path="pathはなんだろか?"
fid = FOPEN(t_path, F_READ or F_WRITE)
  for i = 0 to FGET(fid, F_LINECOUNT)-1 step 2
    WriteIni(sec, FGET(fid,i ), path, t_path1)
    WriteIni(sec, FGET(fid,i+1), path, t_path1)
  next
FCLOSE(fid)

No.3461 2017/02/06(Mon) 17:10:01

Re: ランチメニュの簡素化について / タカハシ
しろまさ様、すごいです、できました。こういう発想ができるのがうらやましい。

  for i = 0 to FGET(fid, F_LINECOUNT)-1 step 2
    WriteIni(sec, FGET(fid,i ), path, t_path1)
    WriteIni(sec, FGET(fid,i+1), path, t_path1)
  next

No.3465 2017/02/07(Tue) 23:44:50
テキストファイルを配列で読込、出力すると4行のテキストと先頭に空白行が出力される理由 / タカハシ
テキストファイルにある4行のテキストを配列で読込、print文で出力すると先頭に空白行が入り2行目から4行のテキスト出力されます。先頭に空白行が入らないようにする方法ないでしょうか?
下記のコードでやっています。

t_path="C:\Users\配列URL.txt"

fid = FOPEN(t_path,F_READ or F_WRITE)
list = FGET(fid,F_LINECOUNT) //---ファイル内の行数を返す
Dim アカウント[list] //---配列の宣言
for i = 1 to list
 アカウント[i] = FGET(fid,i) //---配列:アカウントに挿入
next
FCLOSE(fid)


【C:\Users\配列URL.txtの内容 4行のテキスト】

//aaaaaaa.net/wp-admin/hhhhh
//aaaaaaa.net/wp-admin/hhhhh?paged=2
//aaaaaaa.net/wp-admin/hhhhh?paged=3
//aaaaaaa.net/wp-admin/hhhhh?paged=4

【print分出力結果】

空白行
//aaaaaaa.net/wp-admin/hhhhh
//aaaaaaa.net/wp-admin/hhhhh?paged=2
//aaaaaaa.net/wp-admin/hhhhh?paged=3
//aaaaaaa.net/wp-admin/hhhhh?paged=4

No.3456 2017/02/06(Mon) 12:19:37

Re: テキストファイルを配列で読込、出力すると4行のテキストと先頭に空白行が出力される理由 / しろまさ
配列は0からなので アカウント[list] とすると0,1,2,3,4で要素は5です。

print文が記載されてませんが、配列0から読んでませんか?

No.3457 2017/02/06(Mon) 13:06:59

Re: テキストファイルを配列で読込、出力すると4行のテキストと先頭に空白行が出力される理由 / タカハシ
しろまさ様、回答ありがとうございます。count変数の設置とforを0から指定で解決できました。

function test_hairetu(t_path)
fid = FOPEN(t_path,F_READ or F_WRITE)
list = FGET(fid,F_LINECOUNT) //---ファイル内の行数を返す
Dim アカウント[list] //---配列の宣言
count=1
for i = 0 to list-1
 アカウント[i] = FGET(fid,count) //---配列:アカウントに挿入
count=count+1
next
FCLOSE(fid)
result = slice(アカウント, 0, length(アカウント)-1)
fend

No.3458 2017/02/06(Mon) 13:30:36

Re: テキストファイルを配列で読込、出力すると4行のテキストと先頭に空白行が出力される理由 / しろまさ
FGET(fid, i+1)

これでいいんじゃないかな?

No.3460 2017/02/06(Mon) 16:51:17

Re: テキストファイルを配列で読込、出力すると4行のテキストと先頭に空白行が出力される理由 / タカハシ
しろまさ様、回答ありがとうございます。
確かにFGET(fid, i+1)でこれでできますね、失礼致しました。

No.3464 2017/02/07(Tue) 23:40:00
既知かもしれませんがご報告 / かん
uwscpro5.2.3.0 でWin8.1です

Fukidashi()で透明化指定したい時は座標省略するとエラーになるようです。
Helpの記載漏れか挙動がおかしいのかよく分かりませんがいちおご報告です。
※もしくはカンマを省略しない場合は座標の省略値で空欄は通らないんでしようか?

Fukidasi("test",,,,,,,,) //NG
Fukidasi("test",0,0,,,,,,) //OK
Fukidasi("test",,,,,,,,125) // 半透明にしたいだけだけどNG

No.3455 2017/02/05(Sun) 20:12:24
重複URLを削除したい / みどり
fopen、fget、CHGMOJ、fdellineでできそうな感じがするのですが、なかなか有効なスクリプトが思いつきません。下記のコードやっているのですが、うまくいきません。tes1取得できていないのも気になります。

(前)
http://aa3105&action=edit
http://aa3105&action=edit

(後)
http://aa3105&action=edit

URL1="C:\Uss\Desktop\a.txt"
fid = fopen(URL1, F_READ or F_WRITE8)
tesall=fget(fid,-1)
tes1=fget(fid,-2)
for y = fget(fid, -1) to 1 step -1
tes=fget(fid, y)

tes1=CHGMOJ( tes1, tes, "" )
print "tes1="+tes1
tes1=fput(fid, tes1)
print "tes1="+tes1
next
fclose(fid)

No.3439 2017/01/28(Sat) 16:00:09

Re: 重複URLを削除したい / satocha
問題点はファイル処理と重複削除の実装の2点あります。

<ファイル処理>
既存のファイルを開くときは、fopen( filepath, f_read )で開いてください。
書き込み(読み書き両用も)で開くと、新規作成とみなされるようです。

fgetなどのモード指定を-1、-2などの数値で行うのはバグの元ですのでやめましょう。自分で意味が分かっているつもりでも、先々、見返したときに何だか分からなくなりますよ。UWSCの将来のバージョンで数値が変更になる可能性だってあります。
まして、掲示板で人にコードを見てもらうときは、配慮を欠く行為となります(私自身、数値を覚えていなかったので、確認が必要でした)。

<処理の流れ>
で、処理としては、f_alltextでtes1変数に読み込んでいるようなので、
ファイル読み込み→重複削除→ファイルへの書き込み
という流れが自然でしょう。

<重複削除実行>
これは記事No.1489以下のスレッドで、詳しく議論されていましたので、
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi&mode=pickup&no=1489
をごらんください。

<もっと簡単な方法は?>
URLの出現する順番が変わってもいいのであれば、
powershell( "gc a.txt|sort|gu > b.txt" )
の1行でできます。

No.3442 2017/01/29(Sun) 09:57:25

Re: 重複URLを削除したい / しろまさ
スタンさんと違ってコードが貼られないと答えない奴⇒(-_-;)

> 数値で行うのはバグの元ですのでやめましょう。
反対です。書き方の好みを押し付けるのは止めましょう。

さて、本題回答の一例です。

HASHTBL h_URL
URL1 = "C:\Uss\Desktop\a.txt"
fid = fopen(URL1, F_READ or F_WRITE8)
  for y = fget(fid, -1) to 1 step -1
    h_URL[fget(fid, y)] = fget(fid, y)
  next
fclose(fid)
ResURL = Join(h_URL, "<#CR>")  // HASH_VALのみJoinされる。
MsgBox(ResURL)

No.3451 2017/02/02(Thu) 09:44:00

Re: 重複URLを削除したい / みどり
satocha様、回答ありがとうございます。できました、ホント助かりました。
No.3453 2017/02/03(Fri) 23:10:13

Re: 重複URLを削除したい / みどり
しろまさ様、回答ありがとうございます。Joinを使ってるのが斬新でいいですね。
No.3454 2017/02/03(Fri) 23:11:25


 過去ログ(〜2016/10/02)・検索ツール


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