[ 掲示板に戻る ]

過去ログ閲覧モード

フォルダーの中のAファイルを除いて処理する方法 / NER
質問ばかりですみません。
フォルダーには、Aファイル、Bファイル、Cファイルが入っています。
下記のコードでフォルダー内のAファイルを除いてBファイル、Cファイルに処理する方法はないでしょうか?

PATH1 = "C:\Users\tesuto\xlsm"
NUM = GETDIR(PATH1) //ファイルの数だけならNUM
nozoku="Aファイル"
//配列を展開
FOR A = 0 TO LENGTH(GETDIR_FILES) - 1
sent=CHGMOJ( GETDIR_FILES[A], ".xlsm","")
sent1=PATH1+"\"+sent

o_XL = CREATEOLEOBJ("Excel.Application")
o_XL.visible = True
o_XL.WorkBooks.Open(FileName :=sent1)
o_ws=o_XL.ActiveSheet.Name

o_XL.RANGE("c1").value = "テキスト文字"
xlclose(o_XL)
next

No.3431 2017/01/27(Fri) 14:03:06

Re: フォルダーの中のAファイルを除いて処理する方法 / stuncloud
> 質問ばかりですみません。
はい

処理の分岐はifやselectを使います
以下はselectの例です

nozoku="Aファイル"
FOR A = 0 TO LENGTH(GETDIR_FILES) - 1
 sent=CHGMOJ( GETDIR_FILES[A], ".xlsm","")
 select sent
  case nozoku
   continue
  default
   // ファイルに対する処理
 selend
next

sentがnozoku(Aファイル)であったらスキップします
それ以外は処理が行われます
continueはループの次の周回へ行けという命令ですが、今回の書き方ですとなくても結果は同じになりますね

条件分岐はとても基本的なことですがとても重要です
先の質問もそうですが、条件分岐なしには書けないということがわかったと思います
まずはifの使い方を覚えてみましょう
上記のコードはifで書き直すこともできるので、挑戦してみてはいかがでしょうか

No.3433 2017/01/27(Fri) 14:49:20

Re: フォルダーの中のAファイルを除いて処理する方法 / NER
回答ありがとうございます。無事希望通りの処理ができました。
UWSCの奥深さ、極めたらどうなるか楽しみです。
もっと学んでいきたいと思います。
stuncloud様のスクリプトを参考にIF文に直してみました。
下記がコードです。
nozoku="Aファイル"
PATH1 = "C:\Users\tesuto"
NUM = GETDIR(PATH1) //ファイルの数だけならNUM

FOR A = 0 TO LENGTH(GETDIR_FILES) - 1
sent=CHGMOJ( GETDIR_FILES[A], ".xlsm","")

if nozoku=sent then
continue
else
   // ファイルに対する処理

endif

next

No.3434 2017/01/27(Fri) 22:28:26
対象文字列をテキストファイルの中の文字列から検索して一番先頭にもっていく方法 / NER
テキストファイルの中の文字列から、特定の単語を消して、その特定の単語を先頭に持っていく方法を探しています。

下記までは作成したのですが、ここからどうしたらいいか分かりません。
ご教授願えませんか?

mozi="検索して先頭行に表示させたい文字列"

hensu2=fopen("C:\Users\修正ファイル分.txt", F_WRITE8 or f_read)
naiyo=fget(hensu2,F_ALLTEXT)
fput(hensu2, mozi,"1")

fclose(hensu2)

テキストファイルに下記のテキストが入力されているとします。

大阪
東京
名古屋
沖縄

これを下記のようにしたい。検索文字を名古屋として。

名古屋
大阪
東京
沖縄

No.3428 2017/01/27(Fri) 10:54:20

Re: 対象文字列をテキストファイルの中の文字列から検索して一番先頭にもっていく方法 / stuncloud
検索文字が確実にテキスト内に存在し、かつ行に書かれた文字列と完全一致する場合のサンプルです

file = "C:\Users\修正ファイル分.txt"
target = "名古屋"

fid = fopen(file, F_READ or F_WRITE8)
for i = fget(fid, F_LINECOUNT) to 1 step -1
 if fget(fid, i) = target then
  fdelline(fid, i)
 endif
next
fput(fid, target, 1, F_INSERT)
fclose(fid)

検索文字がテキスト内に存在しない場合を考慮したり部分一致でやりたいという場合はもう少し工夫が必要です

No.3430 2017/01/27(Fri) 11:46:11

Re: 対象文字列をテキストファイルの中の文字列から検索して一番先頭にもっていく方法 / NER
stuncloud様、回答ありがとうございます。希望通りの処理ができました。
このスクリプトを自分の今の実力では全然思いつきませんでした。
もっと、勉強していきたいと思います、ありがとうございました。

No.3432 2017/01/27(Fri) 14:05:31
Excelのc列を挿入する方法 / NER
エクセルでc列に列を挿入する方法を探しています。以下のコードを試してもうまくいきません。
何か良い方法ないでしょうか?

//エクセル既存ファイル起動

//.xlsm拡張子必要なし
hensu="C:\Users\Desktop\tesuto.xls"

EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
Excel.WorkBooks.Open(FileName :=hensu)
XLACTIVATE( Excel, "Sheet1")

EXCEL.Columns("c:c").Select
Selection.Insert Shift:=xlToRight

No.3426 2017/01/27(Fri) 07:27:16

Re: Excelのc列を挿入する方法 / しろまさ
最後の一行を変更。

CONST xlToRight = -4161
EXCEL.Selection.Insert(Shift:=xlToRight)

No.3427 2017/01/27(Fri) 09:51:05

Re: Excelのc列を挿入する方法 / NER
しろまさ様、回答ありがとうございます、無事できました。
No.3429 2017/01/27(Fri) 10:58:05
(No Subject) / カルロス
なるほど、分数で表記するわけですか。ぶっちゃけこのようなuwsファイルを速く動かしたいときには
どこにsleepを入れればいいのでしょうか

While True
MMV(1184,49,515)
MMV(1399,22,16)
ACW(GETID("(無題)(更新) - 秀丸","Hidemaru32Class"),1252,12,640,759,0)
BTN(LEFT,CLICK,1400,21,312)
KBD(VK_SHIFT,DOWN,999)
KBD(VK_DOWN,CLICK,468)
KBD(VK_SHIFT,UP,109)
KBD(VK_CTRL,DOWN,671)
KBD(VK_X,CLICK,406)
KBD(VK_CTRL,UP,78)
MMV(1401,15,624)
MMV(873,10,15)
ACW(GETID("temp - Windows ムービー メーカー","MovieMakerWndClass"),4,1,1004,1029,0)
BTN(LEFT,CLICK,873,10,172)
KBD(VK_ALT,DOWN,1622)
KBD(VK_ALT,DOWN,499)
KBD(VK_ALT,DOWN,32)
KBD(VK_E,DOWN,15)
KBD(VK_ALT,UP,156)
KBD(VK_E,UP,0)
KBD(VK_E,CLICK,718)
KBD(VK_TAB,CLICK,2028)
KBD(VK_CTRL,DOWN,780)
KBD(VK_V,CLICK,327)
KBD(VK_CTRL,UP,78)
KBD(VK_BACK,CLICK,1045)
KBD(VK_SHIFT,DOWN,1326)
KBD(VK_TAB,DOWN,218)
KBD(VK_SHIFT,UP,203)
KBD(VK_TAB,UP,0)
KBD(VK_DELETE,CLICK,655)
MMV(877,5,1201)
MMV(1410,26,15)
BTN(LEFT,CLICK,1410,26,359)
ACW(GETID("(無題)(更新) - 秀丸","Hidemaru32Class"),1252,12,640,759,0)
KBD(VK_SHIFT,DOWN,1170)
KBD(VK_DOWN,CLICK,297)
KBD(VK_SHIFT,UP,218)
KBD(VK_CTRL,DOWN,702)
KBD(VK_X,CLICK,375)
KBD(VK_CTRL,UP,63)
KBD(VK_SHIFT,DOWN,468)
KBD(VK_DOWN,CLICK,187)
KBD(VK_SHIFT,UP,94)
KBD(VK_DELETE,CLICK,562)
MMV(1408,16,982)
MMV(165,173,16)
BTN(LEFT,CLICK,165,173,249)
ACW(GETID("temp - Windows ムービー メーカー","MovieMakerWndClass"),4,1,1004,1029,0)
KBD(VK_CTRL,DOWN,764)
KBD(VK_V,CLICK,499)
KBD(VK_CTRL,UP,172)
KBD(VK_RETURN,CLICK,655)
KBD(VK_TAB,CLICK,1560)
KBD(VK_TAB,CLICK,203)
KBD(VK_RETURN,CLICK,920)
KBD(VK_RIGHT,CLICK,1623)
MMV(169,173,1030)
MMV(1074,46,15)
Wend

No.3402 2017/01/22(Sun) 22:35:38

Re: / MM
工夫すれば出来るの真意は、その機能を自力で実装する、です。
貴方の望むような形での機能はありませんので他のソフトを当たるか、
誰かに発注して有償で作ってもらうかしてください。

No.3403 2017/01/22(Sun) 22:39:48

Re: / カルロス
なるほど。基本的なユーザインターフェイスや動き方は気に入っていたので残念です。どなたか、だいたい同じような感じのフリーウェアのマクロソフトで、倍速機能が付いているおすすめソフトがありましたら、ご紹介いただけるとありがたいです。
No.3405 2017/01/22(Sun) 23:22:48

Re: / tmp
調べる事も苦労もしない人に教える人はいるのでしょうか?
他のソフトですか?そんな事ここで聞くものではないかと思います。

No.3406 2017/01/23(Mon) 10:09:58

Re: / stuncloud
荒れてますね
以下は一応出来なくはないよ、という話です

前のスレッドで俄プログラマーがおっしゃっていたことを提示されたスクリプトでやる場合はsleepを使うわけではありません

> MMV(1184,49,515)
> BTN(LEFT,CLICK,1400,21,312)
> KBD(VK_SHIFT,DOWN,999)


主にこのMMV、BTN、KBDという関数で構成されていますが、これらの最後の引数は
> 実行までの待ち時間 (ミリセカンド)
です
つまりこれをいじれば早くなるんですね

----------------------------
速度 = 1 //2倍速の時は2
MMV(1184,49,515/速度)
BTN(LEFT,CLICK,1400,21,312/速度)
KBD(VK_SHIFT,DOWN,999/速度)
----------------------------

といった感じにすべてのMMV、BTN、KBDの最後の引数に「/速度」を付ければ変数「速度」に入れた値によって速度調整できるようになるというわけです
MMV(1184,49,0)
MMV(1184,49)
のように実行までの待ち時間を0にするか省略すれば最速で動作します

No.3407 2017/01/23(Mon) 10:58:54

Re: / カルロス
No.3407さま
ありがとうございます。まさに私が聞きたかった解決法です。これなら手間を掛けずに倍速動作が可能ですね。重ね重ねありがとうございました。

No.3406
>調べる事も苦労もしない人に教える人はいるのでしょうか?
いましたね。
上から目線でモノを言いたいだけの役立たずはすっこんでてください。

No.3409 2017/01/23(Mon) 14:47:15

Re: / stuncloud
カルロスさん
> 上から目線でモノを言いたいだけの役立たずはすっこんでてください。
ええと、あなたもそういうこと言わんでくださいますかね…
思うのはぜんぜん構わんので、でも腹に抱えといとくだけにしてください…

プログラムを書くということの性質上なのか、このような場では「人に聞くばかりで自分の手をあまり動かそうとしない人」というのは嫌われる傾向にあります
いわるゆ「教えて君」のような呼ばれ方をする人ですね
あなたの質問や受け答えからそのような人だと思われたという可能性があり、ついきつい言い方になってしまう人が出てくるのは理解できます
実際僕のあなたに対する印象もそのようなものでありました

ただ、文面から受ける印象とその人の実際が合致するとも限りませんし、あまりそんなことでいざこざが起こるのも好みません
ですのでひとまず(おそらくあなたが求めているであろう)回答を提示しました

ちなみに僕の最近の回答スタンスは「とりあえず答えを提示する」です
これが一番スムーズです
かつては安易に答えだけ教えるのは良くないのではないかと思っていました
いわゆる教えて君な感じの人には特に、自分で考えようとしない姿勢が気に入らないという気持ちがあったんですよね
ただそれは全部こちらの思い込みですし、それで意地悪したところでなんもいいことないです

ことプログラミングに関しては人に聞く、ということは絶大な効果があったりします
みなさんも経験があるんじゃないかと思うんですが、独学では理解できなかったことが誰かの一言で途端に理解できた、といったことがありますよね
たったそれだけのことで一気に習熟が進むことを身を以て知っているので、僕はそのものズバリの答えを教えることに躊躇しなくなりました
プログラムで何につまづいて、またどのようにつまづいているかって人によるのでそのあたりの事情って質問からでは読み取れない事が多いです
でも、解答となるコードは手段からなにから全部詰まってるわけですよ
そのコードを見た質問者がその場しのぎにコピペするかとかそこから成長するかとかはまぁ、どうでもいいことなんですよ
どうせわかんないし
だったらまぁ後者だといいなぁと思いながら回答したほうがこっちにとってもいいし、答えを求めている相手にとっても良いですよね

あ、もちろん何度も何度も質問を繰り返すひとにはふんわりいい加減にしろって伝えます
あと、具体的にな答えではなくヒントだけでも良さそうな人にはヒントだけ伝えたりもします

とまぁ色々書きましたが、あくまで僕がこうだよって話でみなさんもそうであれってことではないです
ただあまりつっけんどんにしないほうがみんな気持ちよく利用できるよね、ということだけは意識してもらいたいかな…

No.3412 2017/01/23(Mon) 17:00:09

Re: / しろまさ
(o^-^)b いいね!
No.3418 2017/01/23(Mon) 19:41:54

Re: / カルロス
stuncloudさん

ネガティブな反応が返ってくることはわかりきっていたんで、もう書き込まないつもりだったのですが、せっかく長文のレスをいただいたということもありますんで、ちょっとだけ。

おっしゃるとおり私は「教えて君」です。プログラムに限らずいろんな分野で「教えて君」です。で、ほうぼうでこの手のドシロートな質問をするのですが、どの分野の掲示板に行っても必ず居るんですよね。たいした知識もないくせにエラぶりたいだけの人が。教えてgooとかほんとヒドいです。

私はプログラム全くわかりませんが「最後の項目がミリセカンドの待ち時間です」、このたった1行のレスすら返せない人が上級者のわけがない。ほんと笑っちゃいます。

確かに私のレスは常識を欠いたものであることに弁解の余地はありませんが、「自称上級者」が特権的に行使する嘲笑が、私がやったと同じように不愉快の種を撒いていて、時には初心者を萎縮させたり、必要以上にへりくだった態度を取らせていることも、知っていただきたいと思うのです。

No.3419 2017/01/23(Mon) 20:04:07

Re: / MM
皆さん返せないではなく返さなかっただけです。
逆効果な挑発はお勧めしません。
HELPに判りやすく書いてあることなので初心者ですらすぐ判ることです。
判らなくて良い人がいたとしたら、それは、誰かにやらせる人、だけです。
慈悲に満ちた富者からの恵みを頂くのは幸運ではありますが権利ではありません。
教えて君とは、誰かに仕事をやらせる対価を払わないで済まそうとするフリーライダー。
フリーライダーは通常、社会の敵なので、反発心を集めます。

No.3425 2017/01/25(Wed) 21:33:43
1つのスクリプト内で2度目のエクセル起動がエラーになる / jasmine
弥生ソフトからデータを取り出してエクセルに自動で保存する作業をUWSCでやっています。
2種類のデータを保存するので2つのスクリプトを作成しました。
各々のスクリプトは意図通りに動いてデータ保存できるのですが、
この2つを合わせて1つのスクリプトにしたら2つめのエクセルの保存がCOM_errorでできなくなってしまいます。
こちらの解決法がわかる方、教えていただけたら幸いです。



CLKITEM(id, "新規のExcelファイルに書き出す", CLK_ACC)
CLKITEM(id, "OK", CLK_BTN)
ExlApp = GETACTIVEOLEOBJ("Excel.Application")
ExlApp.visible = True
ExlApp.DisplayAlerts = False
ExlApp.Activeworkbook.saveAs("C:\Users\USER\Desktop\Test1.xlsx")
ExlApp.Activeworkbook.close
EXCEL = XLOPEN("c:\Users\USER\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.xlsb")
EXCEL = XLOPEN("C:\Users\USER\Desktop\Test1.xlsx")
EXCEL.Run("PERSONAL.XLSB!xxx")
ExlApp.Activeworkbook.saveAs("c:\Users\USER\Desktop\Test1.xlsx")
ExlApp.Quit
//XLCLOSE(Excel) //エクセルを閉じる 
id = GETID("弥生販売 ….")
////略///
CLKITEM(id, "新規のExcelファイルに書き出す", CLK_ACC)
CLKITEM(id, "OK", CLK_BTN)
ExlApp = GETACTIVEOLEOBJ("Excel.Application")
ExlApp.visible = True
ExlApp.DisplayAlerts = False
ExlApp.Activeworkbook.saveAs("C:\Users\USER\Desktop\Test2.xlsx")
ExlApp.Activeworkbook.close
ExlApp.Quit
EXCEL = XLOPEN("c:\Users\USER\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.xlsb")
EXCEL = XLOPEN("C:\Users\USER\Desktop\Tes2.xlsx")
EXCEL.Run("PERSONAL.XLSB!YYYの作成")
ExlApp.Activeworkbook.saveAs("c:\Users\USER\Desktop\Tes2.xlsx")
ExlApp.Quit

No.3423 2017/01/25(Wed) 15:35:44
EXCELオートフィルター / ROM
お世話になります。
見よう見まねでEXCELのオートフィルタープログラムを作成しています。
何とかオートフィルターまでは出来たつもりですが、”選択行の数”と”選択行”を取得する方法が解りません。
ググったところ、以下の記述を見つけました。


 選択されているセルのすべての行番号を取得する
  Dim rng As Range

  For Each rng In Selection.Columns
   MsgBox rng.Column
  Next rng

知識不足でUWSCへの適用方法が解りません。
何方かご教示いただければ幸いです。
よろしくお願いします。

参考:オートフィルター
oXL=GetActiveOleObj("Excel.Application")
_Filter="XXX"
_CellNumber="C2"
ColumnNumber = oXL.ActiveSheet.Range(_CellNumber).Column
oXL.ActiveSheet.Range(_CellNumber).AutoFilter(Field:=ColumnNumber, Criteria1:=_Filter)
PRINT oXL.Selection.ROWS.count // 「1」と表示される。

No.3408 2017/01/23(Mon) 12:55:00

Re: EXCELオートフィルター / しき
//フィルタリングの結果を取得する場合は、AutoFilterオブジェクトを使います
oXL=GetActiveOleObj("Excel.Application")
o_filter = oXL.ActiveSheet.AutoFilter //AutoFilterオブジェクト
xlCellTypeVisible = 12

//第一列の Ranges
o_ranges = o_filter.Range.Columns(1).SpecialCells(xlCellTypeVisible)
print o_ranges.Count
print o_ranges.Address

n = GetOleItem(o_ranges)
for i=0 to n -1
  o_range = all_ole_item[i]
  print o_range.Row +" "+ o_range.Address(false, false)
next

msgbox(o_ranges.Count +" 行")

No.3411 2017/01/23(Mon) 16:07:44

Re: EXCELオートフィルター / しき
>フィルタリングの結果を取得する場合は、AutoFilterオブジェクトを使います
少し違いました。
AutoFilterオブジェクト は表の範囲を特定するためだけに使っています

o_ranges = o_filter.Range.
の部分は、例えば以下のようにも書けます
o_ranges = oXL.ActiveSheet.Range("C2").CurrentRegion.
o_ranges = oXL.ActiveSheet.Range("A1:C15").

肝は表示行だけを得るための、.SpecialCells(xlCellTypeVisible) です

参考URL
Office TANAKA - Excel VBA Tips[オートフィルタを使い倒す]
http://officetanaka.net/excel/vba/tips/tips155d.htm

No.3415 2017/01/23(Mon) 17:54:05

Re: EXCELオートフィルター / ROM
しき様

ありがとうございます。
お陰様で出来ました!!

No.3422 2017/01/24(Tue) 21:10:56
SHIFTARRAY / SHINJI
SHIFTARRAY関数の引数にSAFEARRAY型の配列変数は使えないのでしょうか?
No.3399 2017/01/22(Sun) 05:27:36

Re: SHIFTARRAY / routa
使えますよ。
d = SAFEARRAY(0, 5)
for i=0 to 5
d[i]=i
next
SHIFTARRAY(d, -2)
for i=0 to 5
print d[i]
next

No.3404 2017/01/22(Sun) 22:41:30

Re: SHIFTARRAY / SHINJI
なるほど動きますね!
一次元配列なら可能で、二次元配列の場合はむりなんでしょうか?
二次元配列のSAFEARRAY型の配列変数を引数にして試していて、それだと動かなくて。

No.3413 2017/01/23(Mon) 17:41:09

Re: SHIFTARRAY / routa
行ごとに一次元配列で指定しましょう。
d = SAFEARRAY(0,1, 0,5)
for i = 0 to 1
SHIFTARRAY(d[i], -2)
next

No.3420 2017/01/23(Mon) 23:34:56

Re: SHIFTARRAY / SHINJI
そういうことだったんですね!
ありがとうございます!

No.3421 2017/01/24(Tue) 01:26:34
なぜか止まる / SHINJI
行数が1103がプリントされた時点で動きが止まってしまいます。型があってないorオーバーフロー
初期値を1000、終了値を1300などとした時も、1103がプリントされた時点で動きが止まってしまいます。
別のスクリプトでは、最終行まで処理をしていたと記憶しているのですが、これはなぜ止まるのでしょうか?
このファイルは4312行あります。

fail="データ 一覧表1.CSV"
fid = FOPEN(fail, F_READ or F_WRITE)  
行数=FGET(fid, -1)
print 行数
print fail
print fid
For 行 = 1 to 行数
print 行
dat=FGET( fid, 行, 16,true )*2.204 //型があってないorオーバーフロー
FPUT(fid,dat,行,23)
next
FCLOSE(fid)

No.3414 2017/01/23(Mon) 17:53:39

Re: なぜか止まる / 俄プログラマー
データ 一覧表1.CSVのファイルの1103行目のデータが文字か空白行等で数値ではないのでは?
No.3416 2017/01/23(Mon) 18:06:48

Re: なぜか止まる / SHINJI
その通りでした!
失礼しました!

No.3417 2017/01/23(Mon) 18:45:38
倍速指定はできますか / カルロス
2倍速、3倍速、10倍速のように、実行速度を変化させることはできますか。
昔、Win98時代にFマクロ(だったかな)を使っていて、似たフリーソフトにようやく巡り会えてうれしく思っています。

No.3394 2017/01/20(Fri) 10:39:54

Re: 倍速指定はできますか / 俄プログラマー
出来る出来ないの答えであればできます。
但し標準の機能ではないです。

No.3395 2017/01/20(Fri) 12:06:39

Re: 倍速指定はできますか / カルロス
標準でないやり方が難しいものでなければ教えてください。
No.3396 2017/01/20(Fri) 17:40:09

Re: 倍速指定はできますか / 俄プログラマー
SLEEPに入れる値を変数にすれば良いですよ。
待ち時間が変わる=実行速度の変化

No.3397 2017/01/20(Fri) 19:52:36

Re: 倍速指定はできますか / カルロス
待ち時間が変わったぐらいですと、10倍速のような高速の変化は期待できないように思うのですが。
質問の趣旨は、例えばマウスの移動を記録したとして、そのマウスの移動速度が2倍速、3倍速、10倍速になるように変化させる設定が可能かどうか、です。

No.3400 2017/01/22(Sun) 10:26:22

Re: 倍速指定はできますか / 俄プログラマー
既に回答している通りです。
標準の機能で2倍速で再生などのようなものはありません。
ただ
>2倍速、3倍速、10倍速のように、実行速度を変化させることはできますか
の質問に対しては「工夫」する事で実現可能なわけです。
具体的な例が欲しいのであれば下記の通り
これがご不満であれば他のマクロソフトを探された方がよろしいかと思います。

速度 = 1 //2倍速の時は2
for i = 1 to 10
  print "test"
  SLEEP(1/速度)
next

No.3401 2017/01/22(Sun) 16:54:03
スケジュール設定が時々消えてしまいます / 小市民
平日の決まった時間に自動実行をするのに、使わせていただいております。
ところが、1月に1回ぐらいの割合で、設定しているスケジュール設定が消えてしまい、
自動実行ができないという現象が起こっております。
最初は、当方の操作ミスか、ウインドウズのアップデート、ウイルスソフトによるものではないかと思い。各種設定を自動更新から手動に切り替えておりますが、先日また、スケジュール設定が消えてしまいました。
何か良い方法はございませんでしょうか?

使用環境
windows10 pro 32bit
UWSC Ver5.2.3.0

No.3380 2017/01/14(Sat) 16:19:45

Re: スケジュール設定が時々消えてしまいます / koi
同じ現象を何度か経験してますが
(UWSC以外のINIファイルの破損は見たことない)
定期的に設置をバックアップしておくなどの対策しかないかと思います

-------------追記
UWSC掲示板  という意味からはそれた回答になりますが
どうしてもスケジューリングで動かなければ困るとかいったことがあるのであれば
OSのタスクスケジューラでの実行も視野に入れたほうがよろしいかと思います
(私も一部 UWSCのスケジュールから移行したものがあります)

No.3382 2017/01/15(Sun) 02:50:37

Re: スケジュール設定が時々消えてしまいます / しゅん
私はスケジュールを使っていないので、今の所アドバイスできませんが、複数報告があるなら、興味があります。

興味本位で申し訳ないですが、できたら質問に回答していただけると嬉しいです。
1. 消えた際、UWSC.INIは存在するか?
2. UWSC.INIの内容は、スケジュール部分のみが消えるのか?(他項目も変更している場合それは残るのか?)
3. ファイル更新日付はどうなっているか(できれば、スケジュール設定後更新日付をメモ。消えた後の更新日付がどうなっているか)
4. UWSCやUWSC.INIのあるディスクは、Windowsの入っているディスクか?(外付けだったりしないか)

あたりが気になるところです。
あとは、イベントログにDiskのエラーがあったりとかは、、、ないですよね?

No.3383 2017/01/16(Mon) 20:47:03

Re: スケジュール設定が時々消えてしまいます / koi
あくまで私の場合の話で覚えてる範囲での話ですが
UWSC.INIは存在していました というかそれまでのものが消えて
新規作成されている様な状況だったと思います
気が付くのはスケジューラではなくてランチメニューが全部消えてて
(ボタンに何も登録(表示)されてないのですぐわかる)
INIファイル見るとスケジュールも消えている  という状況です
  個人的な重要度も ランチメニュー > スケジューラ

OS起動時にUWSCも同時起動でそのままタスクトレイに入れぱなしにしてるうえ
登録スケジュールもそれほど多いわけではないので
一番で気が付くのがランチメニューになります (UWSCは管理者実行してます)
  
ただ今思えば表示位置などが初期化されていなかったようにも思うので
完全に初期化  ということでもなかったかもしれません
   また消えちゃったよ   位で再編集してしまったので・・・
   
INIファイルの場所は標準のままで
本体含め全てWindowsと同一ドライブ上に存在します
その際特にエラーが起こっていたような気配はありませんでしたが
イベントログや作成日まで気にしたことは無い というのが正直な処です
DISK異常はありません

UWSC 4.9a あたりからちょこちょこ使っていますが
これまでに数回本現象を経験しています
  バージョンアップのタイミングで消えた記憶はありませんが
  PC再起動で消えた記憶はあります

その意味では元投稿者さんのように
最新バージョンで経験してるという意味ではありませんし
発生頻度的にもかなりの違いがあり明確な環境情報を開示できません
(以下の組み合わせで経験)
UWSC 4.9c以降
OS  Win7/32bit/64bit  Win10 64bit

No.3384 2017/01/17(Tue) 00:46:59

Re: スケジュール設定が時々消えてしまいます / しゅん
koiさんの状況からすると、uwsc.exe起動中に、uwsc.iniが消える、というところのようですね。
PC再起動で消えたのは、
1. UWSC.INIが存在する状態で、PC起動。UWSC.exe起動、UWSC.INI読込
2. なんらかの原因でUWSC.INIが消える。ランチメニューは読込済みのため無事
3. PC再起動開始。UWSC.exe終了時に座標書き込み。INIがないので再作成
4. PC再起動完了。UWSC.exe起動、INIがないのでメニュー初期化
という流れに見えます。推測ですが。

となると、UWSC.INIが消えた理由は、、、さっぱりわかりませんね。
犯人も絞れませんし、、、。
ただ、UWSC.exeが消す事故は更新時に起きそうなので、起動中に消えるとすると犯人である可能性は低そうに思えます。
他に犯人がいそうですね。なんでしょうねぇ、、、。

No.3386 2017/01/17(Tue) 20:56:14

Re: スケジュール設定が時々消えてしまいます / koi
PC再起動で消えた  とは書きましたが
確かに実際いつ書き換わったのかはわからないんですよね
  再起動でファイルが読み直されてそこで気が付いてるだけという話なので

常にそれを気にして使ってるわけにもいかないし
原因がどこにあるか調べるより バックアップでも作ったほうが現実的だな
って考えになってます

私の環境では
iniファイルに関しては設定が消えるのはUWSC限定
(実は他にあるのかもだが明確に判明してるのはこれだけ)
ですが設定が壊れたことがあるアプリという意味では
他に radicool のスケジュール予約設定があります
  −>これもある時突然それだけが壊れることを過去数回経験
両方ともOS起動と同時に起動で後はタスクトレイに放置のまま
といった使い方は同じですが因果関係含め原因はさっぱりわかりません

No.3387 2017/01/18(Wed) 07:48:13

Re: スケジュール設定が時々消えてしまいます / しろまさ
直接は関係ないですが経験上の話を一つ。

アプリは終了時に設定書込みすることが多いですよね。

次に、PCをシャットダウンする際に
「〜が原因でシャットダウン出来ません。強制終了しますか?」
のメッセージをYES実行するとアプリが強制終了されます。
ここでファイルが壊れるという現象が、
ポータブルHDに入れたThunderBirdで頻発したことがありまして、
他人の行動なので原因究明に時間が掛かりました。

対策はアプリを先に終了させてからもしくは
USBの安全な取り外しを実行してからシャットダウンすればいいだけでした。

参考までに。

No.3393 2017/01/20(Fri) 08:59:31
全1170件 [ ページ : << 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ... 117 >> ]