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

下のキーを繰り返しで順次増やして押していく方法 / ハルヒ
for文で例えば3回、回していくとして、1回目は下キーを一回、2回目は下キーを2回入力と順次増やしていく方法ないでしょうか?
No.4980 2018/01/14(Sun) 19:41:15

Re: 下のキーを繰り返しで順次増やして押していく方法 / satocha
For文を入れ子にすれば可能です。
No.4985 2018/01/15(Mon) 07:49:19

Re: 下のキーを繰り返しで順次増やして押していく方法 / トンボ
簡潔に言うとFor文の中にFor文って感じですね。
FOR i = 1 TO 3
FOR j = 1 TO i
PRINT i + "巡目:" + j + "回目のキー押下"
KBD(VK_DOWN, CLICK, 1000)
NEXT
NEXT

No.4995 2018/01/16(Tue) 23:45:20

Re: 下のキーを繰り返しで順次増やして押していく方法 / ハルヒ
トンボ 様、回答ありがとうございます。
for文の入れ子でできるとは考えつかなかったです。
たすかりました。

No.5010 2018/01/18(Thu) 11:11:35
Thunderbirdでメールを送信時に指定差出人と送信ボタンを押す方法 / 遊助
Thunderbirdでメールを送信する時に差出人のメールアドレスの1つ目をクリックして送信を押して、次に差出人のメールアドレスの2つ目を選択して送信する方法が分かりません。何かよい方法ないでしょうか?

下記が画像です。
https://gyazo.com/424c4dedbe999b8ec35279bdb78a31ff

No.4973 2018/01/13(Sat) 01:00:32

Re: Thunderbirdでメールを送信時に指定差出人と送信ボタンを押す方法 / トンボ
Thunderbirdの使い方がよくわかりませんが、キー入力で色々試すと良いです。

アドレスの選択方法ですが、クリック処理だとThunderbirdが無くて試せない上、
ちょっと面倒な処理になる気がしますので、文字列の直接入力方法にしました。

スクリプトを記述しますが、どこか間違っていたらごめんなさい。

// ウィンドウのID取得とアクティブ化
WinId = GETID("作成: (件名なし)")
ACW(WinId)

// [ALT]+[R]キー押下で[差出人]欄に移動
KBD(VK_ALT, DOWN, 1000)
KBD(VK_R, CLICK, 1000)
KBD(VK_ALT, UP, 1000)

// [TAB]キー2回押下で[宛先]の入力欄に移動 ←押下は1回だけでいいかも?
KBD(VK_TAB,CLICK, 1000)
KBD(VK_TAB,CLICK, 1000)

// 1つ目のアドレスを入力して[Enter]キー押下でアドレス決定 ←多分次の行へ移動する?
SENDSTR(WinId, "yrimys1u@")
KBD(VK_RETURN, CLICK, 1000)

// ←ここにも[TAB]キー押下処理が必要?

// 2つ目のアドレスを入力して[Enter]キー押下でアドレス決定 ←多分次の行へ移動する?
SENDSTR(WinId, "acaio59c@")
KBD(VK_RETURN, CLICK, 1000)

No.4998 2018/01/17(Wed) 00:44:15

Re: Thunderbirdでメールを送信時に指定差出人と送信ボタンを押す方法 / トンボ
追伸。
送信ボタン押下処理はショートカットキーがわからないため、KBD関数、SCKEY関数、CLIKITEM関数のどれかで試してください。

なお、Outlookを元に予想でスクリプト作成しましたが、動くと良いですね。

No.5000 2018/01/17(Wed) 07:50:24

Re: Thunderbirdでメールを送信時に指定差出人と送信ボタンを押す方法 / 遊助
トンボ様返信ありがとうございます。
希望どおりの処理ができました。

No.5009 2018/01/18(Thu) 11:10:29
特定のFOLDERが閉じるまで待つ方法は(せき) / せきこうじ
●画像解析ソフトの自動化を進めています。
解析ソフトの親ウインドがあり、ある動作開始後はその上に小さな子ウインドが現れ、35分くらいすると子ウインドが閉じます(時間は一定しない)。閉じたことを確認後に次の動作をしたいのです。
=====
知恵袋の回答をみると
id=GETID("ウインドタイトル名")
WHILE(STATUS(id,ST_TITLE)<>"")
SLEEP(0.01)
WEND
=====
で実現するとの答えを見つけました。
上記記載で<>の意味がよくわかりません。
”ウインドタイトルが取得できなくなるまでまつ”
ということでしょうか。

またほかのよい方法はありますでしょうか。

No.5001 2018/01/17(Wed) 10:53:45

Re: 特定のFOLDERが閉じるまで待つ方法は(せき) / satocha
>上記記載で<>の意味がよくわかりません

「A <> B」で「AとBが等しくない」という意味です。
知恵袋の回答者がどういう意図でコーディングしたか知りませんが、

>WHILE(STATUS(id,ST_TITLE)<>"")

は「ウインドウのタイトル文字列が空文字列でない間は」という意味です。ウインドウが閉じられれば、タイトル文字列も取得できなくなりますから、ほぼ「ウインドウの開いている間は」と同じ意味になります。

「ほぼ」と断り書きを入れたのは、世の中のウインドウすべてが必ずしもタイトル文字列を持っているわけではないからで、そういうウインドウの挙動をこのプログラムで知ることはできません。

UWSCのstatus関数には、ウインドウの存否を知る機能もあります。ヘルプで確認してほしいのですが、

status(id,st_isid)

がそれです。せっかく機能が用意されているのですから、こちらを使ったほうがいいと思います。

No.5004 2018/01/17(Wed) 15:57:04

Re: 特定のFOLDERが閉じるまで待つ方法は(せき) / トンボ
<>は比較演算子の1つですね。
「比較演算子」でググれば参考情報が色々出ますので、他の演算子も学べます。

OPTION SAMESTR // 「文字比較、置換、サーチにて大文字、小文字を区別」を有りにする
PRINT "a" <> "b" // (不一致なので)True
PRINT "A" <> "a" // (不一致なので)True
PRINT "a" <> "a" // (不一致ではないので)False

>またほかのよい方法はありますでしょうか。
REPREAT文でもいけます。加えてウィンドウが開いたか確認する処理も作成しました。

// ウィンドウが開くまでループ
REPEAT
id = GETID("タイトル")
SLEEP(1)
UNTIL id <> -1
PRINT "ウィンドウが開いた"

// ウィンドウが閉じるまでループ
REPEAT
SLEEP(1)
UNTIL STATUS(id, ST_ISID) = False // ←※
PRINT "ウィンドウが閉じた"

※@目的は、タイトル内容ではなくウィンドウ開閉状況の確認なので、ST_ISIDが良いですね。
 AGETID関数を使わないのは、ウィンドウが多数表示されている場合に処理時間が長くなるため。
  STATUS関数はウィンドウへの確認が1つだけになるため、処理時間が短いです。

No.5006 2018/01/17(Wed) 21:15:02
WINDの終了問題は解決しました。 / せきこうじ
●いろいろありがとうございました。半日調べて自分で解決に至りました。
診療の合間にこっそり検索行っておりましたが、これでほぼ終了いたしました。

//BAADというウインドの状態を調べ、ACTIVEになったらACTIVEとプリントする。

WINID=GETID("BAAD ver.4.2.1.0")

REPEAT
SLEEP(5)
PRINT "STATUS(ST_ACTIVE)=["+STATUS(WINID,ST_ACTIVE)+"]"
SLEEP(5)
UNTIL STATUS(WINID,ST_ACTIVE)


PRINT "BAAD=ACTIVE"
SLEEP(5)

●実際はPRINTではなく次の動作です。

No.5005 2018/01/17(Wed) 16:08:44
Win 10 IE で MMV による縦スクロールができなくなりました / こがっく
週末の Windows アップデートの後からだと思いますが
Win 10 IE でマウスエミュレーションによる縦スクロールが
できなくなりました。簡単な回避方法はありませんでしょうか。
以下 IE で Yahoo! のトップページが開いているという前提
で再現確認用の決め打ちスクリプトです。

wi = GETID("Yahoo! JAPAN - Internet Explorer",,0.01)
if wi >= 0
ACW(wi,0,0,800,760)
SLEEP(1)
MMV(790,180)
SLEEP(1)
BTN(LEFT,DOWN)
SLEEP(1)
MMV(790,380)
SLEEP(1)
BTN(LEFT,UP)
endif

No.4990 2018/01/16(Tue) 03:44:27

Re: Win 10 IE で MMV による縦スクロールができなくなりました / リキュール
MMV(790,180)
SLEEP(1) → SLEEP(100)
にしてマウスカーソルが目的のバーにあるか確認してみてはどうですか。

No.4991 2018/01/16(Tue) 15:58:09

Re: Win 10 IE で MMV による縦スクロールができなくなりました / satocha
バージョンアップに伴って起動時のIEのサイズやウインドウの位置がかわったのかもしれませんね。

ブラウザのスクロールバーをつかんで上げ下げしているようですが、それだと、今後もちょっとしたことで動かなくなるような気がします。
mouseorgでウインドウ座標を設定し、status関数で幅や高さを取り出して調整すればサイズ変更に対応できるでしょうが、試行錯誤が必要です。

それより、マウスホイールをエミュレーションすれば、IE以外のブラウザでもいけるのでは?
BTN(wheel,±500)みたいな感じでしょうか。

No.4992 2018/01/16(Tue) 16:15:38

Re: Win 10 IE で MMV による縦スクロールができなくなりました / こがっく
さっそくのコメントありがとうございます。

MMV の座標はあくまでも例です。再現させていただく場合には、メニューバー
等の表示いかんによってスライダーの位置が変わるので MMV の座標を変更
していただく必要があります。

SLEEP(1) でもマウスカーソルがスクロールバーのスライダー上にあることは
確認できます。また BTN(LEFT,DOWN) や BTN(LEFT,UP)でスライダーの色が
変わるので BTN(LEFT,DOWN) まで動作していることも確認できます。
2回目の MMV でスライダーが動いてくれないのです。
SLEEP の秒数を増やしても問題現象は変わりません。
さらに、先週まで(Windows Update がかかるまで)はスライダーは確実に
動いてくれていたのです。

ちなみに、MMV を使わないでスクロールバを BTN(LEFT,CLICK)
したり、BTN(wheel,-1)、KB_DOWN でのスクロールは今でも
ちゃんと動くのですが、これらの方法は荒っぽくしか調整でき
ないのでうまくありません。

No.4993 2018/01/16(Tue) 22:52:28

Re: Win 10 IE で MMV による縦スクロールができなくなりました / こがっく
すみません typo がありました。
誤:KB_DOWN
正:VK_DOWN

No.4994 2018/01/16(Tue) 23:03:46

Re: Win 10 IE で MMV による縦スクロールができなくなりました / こがっく
追加情報です
以下の ようにして、SLEEP(10) で 10秒待っている間に手でマウスを上下左右どの方向にでもほんの少しでも動かすと、スライダーが本来期待している場所にピョンと動きます。
IE が2個めの MMV で不足の何らかのイベントを期待しているようです。

// 再現テストをする場合は最初の MMV の 180 はスライダーの上になるように直してください。
wi = GETID("Yahoo! JAPAN - Internet Explorer",,0.01)
if wi >= 0
ACW(wi,0,0,800,760)
SLEEP(1)
MMV(790,180)
SLEEP(1)
BTN(LEFT,DOWN)
SLEEP(1)
MMV(790,380)
SLEEP(10)
BTN(LEFT,UP)
endif

No.5002 2018/01/17(Wed) 13:59:23

Re: Win 10 IE で MMV による縦スクロールができなくなりました / こがっく
IE に気付かせれば良いのかと以下のように左ボタンを離す前に右クリックを1発入れたら対策になりました。
同様のお悩みを持たれた方へのご参考まで。
#なお、すべての SLEEP(1) は動きをみるため、わざとゆっくり動作させるように入れてあるものです。

wi = GETID("Yahoo! JAPAN - Internet Explorer",,0.01)
if wi >= 0
ACW(wi,0,0,800,760)
SLEEP(1)
KBD(VK_HOME,CLICK)
SLEEP(1)
MMV(790,180)
SLEEP(1)
BTN(LEFT,DOWN)
SLEEP(1)
MMV(790,380)
SLEEP(1)
BTN(RIGHT,CLICK)
SLEEP(1)
BTN(LEFT,UP)
endif

No.5003 2018/01/17(Wed) 14:26:22
ダウンロードの表示と追跡 / 小村
いつもお世話になっております.

1あるURLからExcelファイルAダウンロードする
2PC上に保管しているExcelファイルBを開く
3AのデータをBに貼り付ける

というプログラムコードを書いていました.
年始にPCを購入し、Winのバージョンを7から10にあげたところ,1の操作の後で「ダウンロードの表示と追跡」というのが毎回出てきまして,「ファイルを開く」というボタンを押す必要が生じました.
この「ファイルを開く」という部分のコードの書き方が分からずお聞きしたいと思います.
今は操作を記憶させ,座標で「ファイルを開く」の部分をクリックする応急処置をとっています.
ご教示いただければ幸いです.

No.4978 2018/01/13(Sat) 20:38:13

Re: ダウンロードの表示と追跡 / トンボ
UWSCの設定画面にて「高度な記録」を選択して記録しましたが、OKでしょうか?

id = GETID("ダウンロードの表示 - Internet Explorer", "#32770", -1)
SLEEP(1)
CLKITEM(id, "ファイルを開く", CLK_ACC)

No.4999 2018/01/17(Wed) 01:06:08
GETDIRで得たI番目のフォルダー名をSENDSTRで送るには? / せきこうじ
●この掲示板でいつも解決して助かっています。
以下のスクリプトで矢印のところがエラーです。
行いたいことは「開いた”フォルダの選択”という記入欄にI番目のフォルダー名を送る」ことです。

n=GETDIR("D:\VSRADfinish", "\", TRUE, 0) //フォルダ数とフォルダー一覧を得る
PRINT N + "個のフオルダーが見つかりました"
SLEEP(1)

FOR i =0 to (LENGTH(GETDIR_FILES) - 1)        //フォルダ数だけLOOPする

//以下BAAD解析する
ACW(GETID("BAAD ver.4.2.1.0","SunAwtFrame"),31,9,1024,768,0)
MOUSEORG(GETID("BAAD ver.4.2.1.0","SunAwtFrame"))

BTN(LEFT,CLICK,738,680,0)
ACW(GETID("DICOM Convert","SunAwtFrame"),395,345,599,191,0)
MOUSEORG(GETID("DICOM Convert","SunAwtFrame"))
BTN(LEFT,CLICK,404,70,0)

SENDSTR("フォルダの選択","D:\VSRADfinish\FILES[i]") ←ここでエラー出ます
KBD(VK_ENTER,CLICK)

BREAK

NEXT

No.4981 2018/01/14(Sun) 21:11:36

Re: GETDIRで得たI番目のフォルダー名をSENDSTRで送るには? / satocha
sendstr関数の第一引数は文字列ではなくウインドウIDです。ヘルプのsendstrの項を参照してください。

もしかして、第二引数の部分でNo.4967と同じミスをしてはいませんか?
せきこうじさんが書いたコードはD:\VSRADfinish\にある「FILES[i]」という名前のフォルダ?ファイル?の意味ですが。

No.4984 2018/01/15(Mon) 07:47:35

Re: GETDIRで得たI番目のフォルダー名をSENDSTRで送るには? / せきこうじ
●投稿者本人からのお礼

SENDSTR("フォルダの選択","D:\VSRADfinish\FILES[i]") の前後を

WID=GETID(GET_ACTIVE_WIN)
SENDSTR(WID,"D:\VSRADfinish\+FILES[i]+")

として解決しそうです。

No.4986 2018/01/15(Mon) 10:56:36

Re: GETDIRで得たI番目のフォルダー名をSENDSTRで送るには? / stuncloud
>SENDSTR(WID,"D:\VSRADfinish\+FILES[i]+")
>として解決しそうです。

…しませんよ!

+ を使うのは「文字列の連結」を行うためです

print "foo" + "bar" + "baz"

とすると "foobarbaz" という文字列になります
文字列と文字列を繋ぐように + を書いているのがわかるでしょうか
数値と数値であれば足し算になりますが、文字列同士であればそれらがくっつきます
これが、文字列の連結です
その応用で文字列の入った変数と文字列の連結もできます

bar = "bar"
print "foo" + bar + "baz"
// foobarbaz

これを踏まえて先程書かれたものを見てみましょう

"D:\VSRADfinish\+FILES[i]+"

+ が書かれていますがこれは連結記号としての + ではありません
"" で括られているのでただの文字列です
当然ただの文字列ですから、連結の機能はありません
また FILES[i] も本来は変数として扱いたかったのでしょうが同じ理由でこれもただの文字列です

正解は以下です

"D:\VSRADfinish\" + FILES[i]

"D:\VSRADfinish\" という文字列と FILES[i] (に入っている文字列)を連結した文字列になります

No.4988 2018/01/15(Mon) 13:49:31

Re: GETDIRで得たI番目のフォルダー名をSENDSTRで送るには? / せきこうじ
●ありがとうございました。諸兄のアドバイスでようやく動きました。
医用画像解析を行っていますが、少しずつ完成に近づいています。

n=GETDIR("D:\VSRADfinish", "\", TRUE, 0) //フォルダ数とフォルダー一覧を得る
PRINT N + "個のフオルダーが見つかりました"
SLEEP(1)

FOR i =1 to n     //フォルダ数だけLOOPする
i=i-1 //カウンター

//以下BAAD解析する
ACW(GETID("BAAD ver.4.2.1.0","SunAwtFrame"),30,10,1024,768,0)
MOUSEORG(GETID("BAAD ver.4.2.1.0","SunAwtFrame"))
SLEEP(1)
BTN(LEFT,CLICK,804,678,0) //DICOM convert開く
ACW(GETID("DICOM Convert","SunAwtFrame"),40,70,599,191,0)
SLEEP(1)
MOUSEORG(GETID("DICOM Convert","SunAwtFrame"))
BTN(LEFT,CLICK,422,71,0)
ACW(GETID("フォルダの選択","#32770"),48,70,734,542,0)
MOUSEORG(GETID("フォルダの選択","#32770")) //選択画面が開く
SLEEP(1)
WID=GETID(GET_ACTIVE_WIN)
SENDSTR(WID,"D:\VSRADfinish\"+GETDIR_FILES[i])
KBD(VK_ENTER,CLICK)
SLEEP(1)

No.4989 2018/01/15(Mon) 20:54:04
ファイルのオープン / との
はじめまして。
UWSCを始めました。
Microsoft製品以外のソフトで作ったファイルを開くことができずに困っています。
ソフトウェアを立ち上げるまではできたのですが、デスクトップ上に作成したPDFファイルやmp4ファイルを開くことができずに困っています。
お手数ですが、方法を教えていただけないでしょうか?
よろしくお願いします。

No.4976 2018/01/13(Sat) 13:23:17

Re: ファイルのオープン / 森
色んな方法がありますが、UWSCの基本的なコマンドでやるとこんな感じです。

// 開きたいファイルがあるフォルダのパス
folder_path = "C:\Users\ton\Desktop"

// ファイル名
file_name = "hoge.pdf"

// アプリのパス
apli_path = "C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe"

// アプリを起動してファイルをドロップ
dropfile(exec(apli_path) , folder_path , file_name)

No.4977 2018/01/13(Sat) 15:49:28

Re: ファイルのオープン / との
dropfileというのがあるのですね。
おかげさまでうまくいきました。

追加でお聞きして申し訳ないのですが、ファイルの立ち上げに時間がかかるようなので、次の操作をするまでに待たせておきたいと思っています。
小林シンヤさんの本に載っていたとおり

repeat
sleep(0.1)
until !IE.busy and IE.readyatete = 4

と書いたのですが、エラーが出てしまって。
インターネットエクスプローラーのみ有効なプログラムなんでしょうか?

No.4979 2018/01/14(Sun) 09:56:22

Re: ファイルのオープン / 森
> インターネットエクスプローラーのみ有効なプログラムなんでしょうか?
はい、そうです。
ファイルが開いたかどうかの状態は、アプリ(やファイル)によって異なります。
処理時間を気にしなくてもよいのであれば、適当な時間待機する方法が一番簡単です。
ちなみに、アプリとの関連付けができている拡張子のファイルであれば、このように直接開くことも可能です。
doscmd("C:\Users\myname\Desktop\hoge.pdf" , TRUE) //------ 直接ファイルを開く
sleep(5) //----- これで5秒待機します。

No.4987 2018/01/15(Mon) 11:07:30
特定のフォルダー内の連続ファイル有無と最初のファイルの取得 / せきこうじ
●また障害に突き当たりました。
最初のD:\VBMnewの最初のFolderにDICOMファイル(*.DCM)が多数あるのに認識しません。13行のPRINT NUMでいつも0を返してきます。*.DCMを*.*にしてもファイルの有無を確認しません。どこか間違いがあるでしょうか。

========
//D:\VBMnewにフォルダー(directory)なければ以下の5行目以下は動作はしない。

NUM=GETDIR("D:\VBMnew" , "\")
IFB NUM>0

 getdir("D:\VBMnew" , "\") // GETDIR_FILES[0]に一番若い名前のフォルダ名セット
 FILE0=GETDIR_FILES[0]    //そのフォルダー名をFILE0とする。

 PRINT FILE0          //念のためそのフォルダー名を書き出す。
 SLEEp(2)

 NUM=GETDIR("D:\VBMnew\FILE0\", "*.dcm" ) //最初のフォルダーに*.DCMファイルあるか否か、なければ操作しないで*。DCMはありませんと表示。←ここがうまく動作しない。
 PRINT NUM

 IFB NUM>0


 ELSE
 MSGBOX("*.DCMはありません")
 SLEEP(2)
 ENDIF

ELSE
MSGBOX("症例フォルダーはもうありません")
SLEEP(2)
ENDIF

No.4967 2018/01/11(Thu) 22:56:50

Re: 特定のフォルダー内の連続ファイル有無と最初のファイルの取得 / satocha
>NUM=GETDIR("D:\VBMnew\FILE0\", "*.dcm" ) //最初のフォルダーに*.DCMファイルあるか否か…

の右辺は、「D:\VBMnewフォルダー直下にある”FILE0”という名前のフォルダーからdcmファイルを検索せよ」と書いてあります。
それが意図するところでしょうか。そもそも、D:\VBMnew\FILE0というフォルダーは存在するのでしょうか。

もし、その数行前にある「FILE0=GETDIR_FILES[0]」で値を代入したFILE0変数を使いたいのでしたら"D:\VBMnew\FILE0\"ではなく、

"D:\VBMnew\"+FILE0+"\"

とする必要があります。

UWSCに限らず、プログラム言語は書いてある通りにしか動きません。はやりの「忖度」とは無縁の世界です。
もしかしたら、この文字列中のFILE0はただの文字列じゃなくてさっき代入したFILE0変数のことかな、なんていう「忖度」はしてくれないのです。

No.4969 2018/01/12(Fri) 07:16:36

Re: 特定のフォルダー内の連続ファイル有無と最初のファイルの取得 / せきこうじ
●ありがとうございました。動作しました。

変数は"+変数+”で囲むということでしたか。

連日夜間のパソコン操作から開放される日も近いです。

No.4970 2018/01/12(Fri) 09:55:38

Re: 特定のフォルダー内の連続ファイル有無と最初のファイルの取得 / satocha
>変数は"+変数+”で囲むということでしたか
そうではありません。文字列を二重引用符で囲んでいるのです。「+」記号は文字列の結合を意味しています。例えば

"たくさんの"
"赤い"
"花"

という三つの文字列をつないで"たくさんの赤い花"という一つの文字列を得るとき、
UWSCでは「+」記号を使って次のように書きます。

"たくさんの" + "赤い" + "花"

花の色を変えられるように「赤い」の部分を変数にすることもできます。

color="赤い"
msgbox("たくさんの" + color + "花")
color="白い"
msgbox("たくさんの" + color + "花")

No.4975 2018/01/13(Sat) 08:18:57
SOUND関数のファイル名について / ぽこたん
SOUND関数のファイル名でフォルダの文字数が128文字を超えると指定したファイルではなくビープ音が再生されてしまいます
No.4964 2018/01/10(Wed) 22:08:58

Re: SOUND関数のファイル名について / ぽこたん
SOUND( の部分を含めて数えていたので120前後でした
ファイル名含めて128前後なのかな…?

No.4965 2018/01/10(Wed) 22:16:49

Re: SOUND関数のファイル名について / トンボ
はじめまして。

SOUND関数に限らず他の関数でもパスの文字数に制限がありそうです。
「windows パス 文字数」でググるといくつか参考情報がでます。

試していないので恐縮ですが、解決策はフォルダ名/ファイル名の変更やファイルの移動が良いでしょうね。

No.4968 2018/01/11(Thu) 23:41:17

Re: SOUND関数のファイル名について / umiumi
確認しました。
対処します。

No.4971 2018/01/12(Fri) 23:31:52

Re: SOUND関数のファイル名について / ぽこたん
回答ありがとうございました。

暫定処理として長いパスの場合GetTempPathで取得したtempフォルダにコピーし、スレッドを使用して再生→再生終了後削除…という風に修正しました

No.4974 2018/01/13(Sat) 03:48:18


 過去ログ(〜2017/08/24)・検索ツール


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