[ 掲示板に戻る ]

過去ログ閲覧モード

Accessを開く / hatonomark
下記を実行した場合、Accessはオープン後に終了してしまいます
ExcelはUWSCスクリプトの実行が終わっても終了しません。
Accessを終了させたくないのですがどうしたら良いでしょうか


Access = CreateOLEObj("Access.Application")
Access.Visible = True
Access.OpenCurrentDatabase("C:\test.accdb")


Excel = CreateOLEObj("Excel.Application")
Excel.Visible = True
Excel.WorkBooks.Open(FileName:="C:\test.xlsm")

No.3614 2017/03/09(Thu) 00:22:47

Re: Accessを開く / しろまさ
最近リカバリーしてAccess入ってないんで検証できませんが、
UWSCのプロセス終了に巻き込まれる感じですか?

であれば DosCmd("C:\test.accdb") などで起動して
操作したいなら GetActiveOleObjでオブジェクト取れば良さそうですがいかがでしょう?

No.3616 2017/03/09(Thu) 09:40:15

Re: Accessを開く / hatonomark
しろまささん こんにちは
UWSCのプロセス終了に巻き込まれてました。

ヒントもらい解決できました
Exec("C:\MSACCESS.EXE")
Access = GETACTIVEOLEOBJ("Access.Application")
Access.OpenCurrentDatabase("C:\test.accdb",false,"pass")

ありがとうございました。

No.3619 2017/03/10(Fri) 18:15:15
SlctBox関数の不具合 / ミリアム
これと
SlctBox(SLCT_BTN, 0, 100+100, 500, "", "選択肢A", "選択肢B", "選択肢C")

これが
SlctBox(SLCT_BTN, 0, 200, 500, "", "選択肢A", "選択肢B", "選択肢C")

違う結果になります。選択肢だけで良い時がよくあるので不便です。


SlctBox(SLCT_BTN, 0, 100+100, 500, " ", "選択肢A", "選択肢B", "選択肢C")

こうするとまあ一応意図した風な感じにはなるのですが、一行分無駄に縦に伸びて邪魔です。


ついでに要望なのですが、
・SLCTBOX関数のタイムアウト時の返り値についてもヘルプに書いてあるといいと思います。
・予約語の定義済み仮想キーのページですが、他の仮想キーと同様にVK_OEM_***系についても解説があるといいと思います。セミコロンとかコロンとか。
・VK_OEM_102(キーボード右下の\のキー)が仮想キー一覧にありません。
・Breakキーの記録が変です。仮想キーに変換されずに数値のままです。

No.3601 2017/03/06(Mon) 11:56:50

Re: SlctBox関数の不具合 / MM
本当になりますね不思議
上は選択肢Aがメッセージとして解釈されてます

No.3602 2017/03/06(Mon) 13:00:18

Re: SlctBox関数の不具合 / stuncloud
SlctBox(SLCT_BTN, 0, 100+100, 500, chr(0), "選択肢A", "選択肢B", "選択肢C")

いくつか試しましたが代替案としてはこれで良さそう?

No.3603 2017/03/06(Mon) 13:56:13

Re: SlctBox関数の不具合 / ミリアム
第3引数と第4引数が数値であれば X位置,Y位置指定と判断

の処理がアレしてるんじゃないでしょうか。
座標指定が変数名だったりすると同じような感じになるんじゃないかと思います。


chr(0)指定で回避できるんですね?ありがとうございます。

No.3608 2017/03/07(Tue) 19:10:19
Web上の数値増減に反応押してUWSCを起動したい / takelees
Webサイトで放射能測定サイトがありまして、そこに表示されております数値の増減に反応して
UWSCを起動、動作させるにはどうすればよいでしょうか?

No.3594 2017/03/04(Sat) 13:06:56

Re: Web上の数値増減に反応押してUWSCを起動したい / stuncloud
増減に反応して起動はやりようがないので監視のために起動しっぱなしにする必要があります
定期的に数値を取得、保存するようにしておき前回との差があればそれに応じた処理を行います

recent = 数値を取得()
while TRUE
 current = 数値を取得()
 select TRUE
  case current > recent
   増えたときの処理()
   recent = current
  case current < recent
   減ったときの処理()
   recent = current
 selend
 sleep(0.1)
wend

No.3600 2017/03/06(Mon) 10:18:40

Re: Web上の数値増減に反応押してUWSCを起動したい / takelees
stuncloudさんご回答ありがとうございます。
当初はWeb上の数値枠を画像として捉えて、その画像が変化した場合に、
動作させようと思っておりました。画像認識が難しく、悩んでいた次第です。
ご回答いただいた内容に基づき、試してみます。

No.3607 2017/03/07(Tue) 14:47:17
JavaScriptを用いたhtmlページのonclickボタンの押下に対応する方法 / Neru
お世話になります。
現在フリー版UWSCを利用しております。

この度、あるチケットサイト(プレイガイド)において、チケットを確保する「申込み」ボタンの押下を自動化させたいのですが、どのような処理方法を用いるのがベストでしょうか。

なお、サイトはjavascriptによって制御されており、IEを複数個立ち上げた状態(「申込み」ボタンが表示されているページ)でワンクリックで一斉に押下がされるような仕様を望んでおります。

また、「申込み」ボタンの要素ソースは、

<div class="bt-area">
<span class="enter-bt">
<a href="#" onclick="return
sChangeURL('MOUSHIKOMI','https://############.jsp')">申込み</a>
</span>
</div>


となっておりました。

とりあえず、
IE = GETACTIVEOLEOBJ("InternetExplorer.Application")
ie.visible=true
から始めたものの、JSが邪魔しているのか、ie.document.allやIESetDataでは通じなかったのですが、IEGETSRCで解決できるソースなのでしょうか。

複数ウィンドウ開いておりますので、座標指定は出来ないものとお考えいただければ幸いです。

このソースの場合は、どのような関数/制御文を用いるのが適切か、宜しければご教授お願い致します。

No.3605 2017/03/07(Tue) 08:13:33

Re: JavaScriptを用いたhtmlページのonclickボタンの押下に対応する方法 / 雅
.1秒を争うチケットですか?
正規に申し込みする人がかわいそうですね。
自分さえ良ければいい考えは良心が痛みませんか?
このような内容であればゲームで有利に進める場合と変わりが無い気がします。
チケット取得の規約又はルールには問題ないのでしょうか?
マクロは便利だからといってやって良いこと悪いことありますよね?

No.3606 2017/03/07(Tue) 11:28:39
ホットキーを使った引数変更 / FEY
ホットキーを使い、任意のタイミングで引数を書き換える処理を行いたいです、

「test(AA,BB,CC)//関数「test」で引数を設定」
の行では引数を書き換えられるのですが、

「sleep(5)//割り込ませる猶予時間」
の行などでホットキーで割り込んだ場合、
引数を変更することが出来ません、
お手数ですが助言をいただけないでしょうか。


//////////////////////////////////////

sethotkey(VK_z,, "test")//ホットキーをZで設定

AA=0//引数設定
BB=0//引数設定
CC=0//引数設定

test(AA,BB,CC)//関数「test」で引数を設定
print AA//引数を確認
print BB//引数を確認
print CC//引数を確認

sleep(5)//割り込ませる猶予時間
////ここでホットキーで割り込ませる

print AA//引数が変更されたか確認
print BB//引数が変更されたか確認
print CC//引数が変更されたか確認


////引数設定用の関数「test」の設定
procedure test(Var AA ,var BB,var CC)//引数AA,BB,CCの変更を許可
AA = INPUT("入力1", 1)//引数を入力
BB = INPUT("入力2", 2)//引数を入力
CC = INPUT("入力3", 3)//引数を入力
fend

//////////////////////////////////////

No.3598 2017/03/06(Mon) 07:27:48

Re: ホットキーを使った引数変更 / stuncloud
先ず解決策
AA、BB、CCはそれぞれpublicにしておく

続いて解説…なんですがちょっと説明難しいな…わからなかったらごめんなさい
sethotkeyで呼び出される関数は引数を渡さないで実行されます、なので
> Var AA ,var BB,var CC
はなんというか、なかったことになってます
実行時に参照渡しするための変数が指定されてない(できない)のでvarにしても値を外に出せないんですね

関数の外と中で同じ変数名を使うからちょっとややこしくなるのかな
関数定義だけ

procedure test(Var A ,var B,var C)
A = INPUT("入力1", 1)//引数を入力
B = INPUT("入力2", 2)//引数を入力
C = INPUT("入力3", 3)//引数を入力
fend

と書き換えても動作は一切変わりませんが、これだとよりAA、BB、CCの値が変更されないことの意味がわかりやすくなるかと思います

※関数の中(引数含む)と外で同じ名前の変数を使うとミスの元になるのでなるべく止めましょう
 変数をpublicにする場合は別ですが

No.3599 2017/03/06(Mon) 10:06:04

Re: ホットキーを使った引数変更 / FEY
迅速で丁寧なご返答ありがとうございます、

>>sethotkeyで呼び出される関数は引数を渡さないで実行されます、なので
事前に引数設定をしていないとエラーが出るので、嫌な予感がしてましたが、
引数を渡さない、procedureは外の関数と言われてその原因がよくわかりました、
別個の場所に書かれたプログラムの引数が、特別な処理なしに共有されるわけないですものね。

>>と書き換えても動作は一切変わりませんが、これだとよりAA、BB、CCの値が変更されないことの意味がわかりやすくなるかと思います
関数定義だけ変えても同じ動作することを確認しました、
引数が違うのに何故動作するのか不思議でしたが、
procedureで対応した引数が変更されたのではなく、
単に関数に対応した位置が変更されただけだったということですね・・・

ホットキーを使った引数変更は難しそうなので、
別の手段を考えることにします、ご指導ありがとうございました!

No.3604 2017/03/06(Mon) 16:29:27
特定のウィンドウが現れるまでの待ち処理 / ランナ
("","#32770")というウィンドウが現れるまでスリープ処理したいと考えています。

--------------------------------------
a_id=GetID("","#32770")

REPEAT
sleep(0.1)
UNTIL a_id=true
--------------------------------------

とやってみたのですがスリープしてくれません。
条件式が間違っているのでしょうか。
どうしたらよいのか教えてください。
よろしくお願いします。

No.3566 2017/02/26(Sun) 18:56:46

Re: 特定のウィンドウが現れるまでの待ち処理 / しろまさ
GetIDの戻り値 と UNTIL a_id=true の評価式を見直しましょう。
No.3569 2017/02/26(Sun) 20:50:18

Re: 特定のウィンドウが現れるまでの待ち処理 / ランナ
ご回答いただきありがとうございます。

----------------------------------------------
REPEAT
sleep(0.1)
UNTIL GetID(,"#32770",-1)>0
----------------------------------------------

さまざま試してみて、最終的にこのようにしてみたのですが、やはりスリープしてくれません。
getidの戻り値のタイトルが空であることに、問題があるのでしょうか。
取得してもタイトル名がありません。

再度ご回答いただければ幸いです。よろしくお願いします。

No.3575 2017/02/27(Mon) 09:03:31

Re: 特定のウィンドウが現れるまでの待ち処理 / しろまさ
// 複数起動していませんか?
Dim i, id, t
For i = 0  To GetAllWin() - 1
  id = ALL_WIN_ID[i]
  If Status(id, ST_CLASS) = "#32770" Then t = t + "t=" + Status(id, ST_TITLE) + " c=" + Status(id, ST_CLASS) + "<#CR>"
Next
MsgBox( t )

No.3576 2017/02/27(Mon) 09:15:13

Re: 特定のウィンドウが現れるまでの待ち処理 / ランナ
しろまさ様 再度のご回答とスクリプトいただきまして誠にありがとうございました。大変恐縮です。
スクリプトを掛けましたところ、

t=Firm Update c=#32770
t= c=#32770
t=受信しました c=#32770

と出てきました。
一段目、三段目は何かわからないのですが、このソフトには無関係のように思えます。
二段目が該当のダイアログのように思えます。
よろしくお願いします。

No.3578 2017/02/27(Mon) 15:56:07

Re: 特定のウィンドウが現れるまでの待ち処理 / しろまさ
答えのつもりだったんですが。。

UNTIL GetID(,"#32770",-1)>0

「出現するまで待機」のこの条件では、複数存在してれば一瞬で抜けるので当然スリープできないですよね?

条件式を変更して下さい。

No.3581 2017/02/28(Tue) 08:28:52

Re: 特定のウィンドウが現れるまでの待ち処理 / ランナ
ご回答ありがとうございます。また真意を分からなかったことお詫び申し上げます。

UNTIL GetID(,"#32770")>0

という形にしてみましたが、スリープはしませんでした。

No.3582 2017/02/28(Tue) 09:25:06

Re: 特定のウィンドウが現れるまでの待ち処理 / まーく
そもそもそのウインドウはGETIDでIDが取得できているのでしょうか?

私なら出てくるウインドウ("#32770"からダイアログだと思いますが)が決まっているならば
スクリーンショットを取った後にウインドウのメッセージの一部などを使ってCHKIMGで判断させます。

スキルがあればきっともっとスマートな行いができるのでしょうが…。

No.3583 2017/02/28(Tue) 09:42:12

Re: 特定のウィンドウが現れるまでの待ち処理 / しろまさ
UNTIL GetID(,"#32770")>0
も一緒です。「出現するまで待機」してます。

答えを言えば、複数存在時は GetIDを使用しても「出現するまで待機」は出来ないのです。(既に存在してるから)
経験上 #32770はいろんなところで使われていますのでClass名判断では物足りません。
基本GetAllWinを使用し、ステータス判断ですね。
タイトルで判断できればそれ。出来なければ親ウィンドウIDやプロセスIDなどで判断します。
GetItemを絡めてアイテムの個数なんかでも判断できます。

#32768なんかは同プロセスが複数発生させるので個数で判断したりしてます。

No.3585 2017/02/28(Tue) 12:12:05

Re: 特定のウィンドウが現れるまでの待ち処理 / ランナ
しろまさ様

>基本GetAllWinを使用し、ステータス判断ですね。

ステータス関連を知らないので、勉強してみます。
何度もありがとうございました。



まーく様

>ウインドウのメッセージの一部などを使ってCHKIMGで判断させます。

これも未経験なので調べてみます。
ありがとうございました。

No.3586 2017/02/28(Tue) 12:43:37

Re: 特定のウィンドウが現れるまでの待ち処理 / しゅん
しろまささんの回答で充分な気がしますが、
もしかすると見えてることが違う気がするので少しだけ

GETIDのヘルプ、読んでますか?
タイトルは部分一致なのです。
そして、長さ0の文字列は、全ての文字列に部分一致します。
ここが理解できているか気になるところです。

あと、
> 一段目、三段目は何かわからないのですが、このソフトには無関係のように思えます。
が、とても、、、なんというか、素晴らしい、、、。
気持ちはわかりますが、今のコンピューターは0/1しかわからないアホなので、
無関係には思えないのです。


// でまあ、もはや諦めてるかもしれませんが、回答を。(未試験だけど)
REPEAT
  sleep(0.1)
  a_id = GetID("", "#32770")
  IF LENGTH(STATUS(a_id, ST_TITLE)) > 0 THEN a_id = -1
UNTIL a_id >= 0

// でもこれ、いろいろ罠があると思うけど。

No.3591 2017/03/03(Fri) 12:43:10

Re: 特定のウィンドウが現れるまでの待ち処理 / ランナ
しゅん様

回答いただきまして誠にありがとうございました。
さっそく試してみましたところうまくいきました。
IF文の意味を調べてみます。

的外れな質問を繰り返してしまい、皆様にご迷惑をおかけしたようです。
初心者は来るべきではなかったかもしれませんが、
最後まで対応していただき誠にありがとうございました。

No.3596 2017/03/04(Sat) 17:48:00

Re: 特定のウィンドウが現れるまでの待ち処理 / しろまさ
> 初心者は来るべきではなかったかもしれませんが、

この考え方は嫌いですね。じゃあ初心者は質問するところがないと言いたいのですか?

私は相手が努力し結果のコードを貼り質問する限り、決して諦めずに答えます。

代わりに、ただ答えを与えることだけは決してしません。悩んだ時間と努力を尊重します。

自分が諦めたことを他人のせいにするのは学ぶ姿勢として間違ってますよ。

No.3597 2017/03/04(Sat) 22:31:18
ボタンが押せません >_< / TK
フリー版をダウンロードしたのですが、
ボタンが非アクティブで使用することができません。

https://gyazo.com/e776d257a365ee0a217af06cf2ea8fc6

解決策をお持ちの方、お手数ですが、教えてください!

よろしくお願いします!

No.3593 2017/03/03(Fri) 22:25:33

Re: ボタンが押せません >_< / routa
FAQを見ましょう。
記録ボタンが灰色状態であり、押す事ができない  #N5

No.3595 2017/03/04(Sat) 13:45:33
既存のEXCELファイルがオープンできません / おっさん2
お世話になります。

(UWSCPro Ver 5.5.2.0)
ある処理のためEXCEL2016(win10)を開きたいのですが開けません。EXCEL2010(win7)では
開けます。症状は以下の通りです。


コード   EXCEL = CREATEOLEOBJ("Excel.Application")
      EXCEL.visible = True
      EXCEL.Workbooks.Open("C:\・・・・\ABCD.xlsm")

エラー   COM_ERROR:例外が発生しました。
      24行目:EXCEL.Workbooks.Open("C:\・・・・\ABCD.xlsm")


また 新規のEXCELファイルは開けます。

コード   Excel = CreateOLEObj("Excel.Application")
      Excel.Visible = True
      Workbook = Excel.WorkBooks.Add

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

No.3587 2017/03/01(Wed) 19:35:40

Re: 既存のEXCELファイルがオープンできません / しゅん
マクロブックか。
ヒントだけですみませんが、セキュリティ関連ではないでしょうか。

No.3590 2017/03/03(Fri) 12:40:43

Re: 既存のEXCELファイルがオープンできません / おっさん2
しゅん様、ご回答ありがとうございます。自己解決しました。

WIN10の環境でパスを通したら、既存EXCELファイルが開けました。
WIN7の環境のほうはパスが通っているか確認できませんでした。

セキュリティは、WIN10はマカフィー、WIN7はノートンです。その他ファイアウォールなど
細かい設定はわかりません。

No.3592 2017/03/03(Fri) 20:07:20
裏で実行できますか / ss
例えばuwscから実行ファイルを作って,ショートカットキーでそれを実行させたとします。エクセルを使っていたとするとそのファイルが終了するまでエクセルはアクティブになりません。uwscまたはuwscから作った実行ファイルを裏で実行(非アクティブ)することはできますか?
No.3588 2017/03/02(Thu) 09:52:30

Re: 裏で実行できますか / stuncloud
何をするかによります
・UWSCで操作するウィンドウがアクティブになるような処理が入ってなければできる
 (clkitemのCLK_BACKだったりmouseorgのMORG_BACKだったりを使っていても操作時にアクティブになってしまうとか操作できないとかいうものもあるようなので、そういったものであれば無理)
・ウィンドウ操作をしないスクリプトならできる

No.3589 2017/03/02(Thu) 10:55:05
A列に偶数の配列、B列に奇数の配列に順番に入れる方法 / ジンギスカン
下記のスクリプトで試しているのですが、ここからどう組み立てたらいいのが分かりません。forのstep+2をうまく組み合わしたらできそうな気もするのですがいまいち分かりません。聞いてばかりで申し訳ないですが、何か良い方法ないでしょうか?


file="C:\Users\aruke\Desktop\URL.txt"

//配列にfileを挿入
Dim res1 = COMMON.test_hairetu(file)

o_XL=xlopen(0)

row=2

for i = 0 to length(res1)-1
 xlsetdata(o_XL, res1[i], "a" + row)
 xlsetdata(o_XL, res1[i+1], "b" + row)

 row = row + 1
next

XLCLOSE(o_XL)

// 0,2,4 タイトル
// 1,3,5 リンク

No.3562 2017/02/25(Sat) 16:09:52

Re: A列に偶数の配列、B列に奇数の配列に順番に入れる方法 / ジンギスカン
配列をエクセルにA列、B列に入力する方法はできたのですが、エラーが出てしまいます。
breakでfor文をぬけようとしてもエラーになります。どこが間違っているのでしょうか?

[エラーコード]
getvalue:variant or safe array index out of bounds

17行目  xlsetdata(o_XL, res1[i+1], "b" + row)

[試しているスクリプト]


call C:\Users\aruke\Desktop.uws

file="C:\Users\aruke\Desktop\URL.txt"

//fileを配列に入れる
Dim res1 = COMMON.test_hairetu(file)

o_XL=xlopen(0)

row = 2

for i = 0 to length(res1) step+2
xlsetdata(o_XL, res1[i], "a" + row)
xlsetdata(o_XL, res1[i+1], "b" + row)
row = row + 1

if i=length(res1) then
break
next


o_XL.ActiveWorkBook.SaveAs(file1)
XLCLOSE(o_XL)

// 0,2,4 タイトル
// 1,3,5 リンク

No.3567 2017/02/26(Sun) 19:56:53

Re: A列に偶数の配列、B列に奇数の配列に順番に入れる方法 / しろまさ
エラーはsafearrayの範囲外という内容。
length(res1)に配列要素はない。

さあ問題です。どこを修正すればよいでしょうか?

No.3568 2017/02/26(Sun) 20:47:21

Re: A列に偶数の配列、B列に奇数の配列に順番に入れる方法 / ジンギスカン
しろまさ様、回答ありがとうございます、しろまさ様のサイトのページ紙で印刷で見させて頂いています。

iがlength(res1)の13になるとbreakしてfor文を抜けれると思ったのですが、この考え方は間違っているのでしょうか?

>エラーはsafearrayの範囲外という内容。length(res1)に配列要素はない。
length(res1)が13ですので、0から進んでいくと12までいって13だけが残されるからエラーという考え方で良いのでしょうか?

if i=length(res1) then

//13
print "length(res1)="+length(res1)

break

No.3570 2017/02/26(Sun) 21:38:40

Re: A列に偶数の配列、B列に奇数の配列に順番に入れる方法 / ジンギスカン
>length(res1)に配列要素はない。
length(res1)-1で条件式を組み立てるという事ですよね。

下記のスクリプトでうまくいきました。
for i = 0 to length(res1) step+2
xlsetdata(o_XL, res1[i], "a" + row)
if length(res1)-1= i then
break
endif

 xlsetdata(o_XL, res1[i+1], "b" + row)
 row = row + 1

next

No.3571 2017/02/26(Sun) 22:31:07

Re: A列に偶数の配列、B列に奇数の配列に順番に入れる方法 / しろまさ
> length(res1)-1で条件式を組み立てるという事ですよね。
正解です。ただ、
for i = 0 to length(res1)-1 step+2 とすればIf文は不要となります。

[i+1]を使う今回の条件では
for i = 0 to length(res1)-2 step+2 で良さそうですね。

No.3574 2017/02/27(Mon) 08:51:21

Re: A列に偶数の配列、B列に奇数の配列に順番に入れる方法 / ジンギスカン
>for i = 0 to length(res1)-1 step+2 とすればIf文は不要
これは、どういう風にすればIF文不要でできるのでしょうか?

>for i = 0 to length(res1)-2 step+2
こちらはbreak文無しでうまくできました。

No.3579 2017/02/27(Mon) 23:16:29

Re: A列に偶数の配列、B列に奇数の配列に順番に入れる方法 / ジンギスカン
length(res1)、 lengthは1から数える

配列、res1[i]は0から数える

よって、配列に合わせる為にlength(res1)−1にする

length(res1)は13の場合、length(res1)−1は12になる。

配列には12のデータが入っていると判断できる。

12個のデータという事は、配列[11]と表示とイコール

12個のデータをエクセルにA列、B列に2列×6行で入れたいとする。

よって、iが12になった場合のxlsetdata(o_XL, res1[i], "a" + row)の前にif文のbreakを入れる。


call C:\Users\Desktop

file="C:\Users\aruke\Desktop\URL.txt"

Dim res1 = COMMON.test_hairetu(file)

file1="C:\Users\aruke\Deskt"

o_XL=xlopen(0)


row = 2

for i = 0 to length(res1)-1 step+2

if i=12 then
break
endif
xlsetdata(o_XL, res1[i], "a" + row)


  xlsetdata(o_XL, res1[i+1], "b" + row)
 row = row + 1

next

o_XL.ActiveWorkBook.SaveAs(file1)
XLCLOSE(o_XL)

// 0,2,4 タイトル
// 1,3,5 リンク

No.3580 2017/02/27(Mon) 23:44:56

Re: A列に偶数の配列、B列に奇数の配列に順番に入れる方法 / stuncloud
> length(res1)は13の場合、length(res1)−1は12になる。
はいいんだけど
> 配列には12のデータが入っていると判断できる。
って判断しちゃだめです
length(res1) が個数です
res1[0] から res1[12] までの13個の要素がある配列です
このへんの認識違いはバグの元になるので気をつけましょう

No.3584 2017/02/28(Tue) 09:56:09
全1170件 [ ページ : << 1 ... 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 117 >> ]