忍者ブログ

切手組み合わせ問題

2021年08月10日
定形外郵便で貼る切手の話。

コンビニで510円分の切手を買おうと思ったら、扱ってる切手の種類が少なくて驚愕。

1軒目
63円か84円

2軒目
63円か84円か120円

コンビニ店員にホルダを見せられ、200円切手あんじゃんと思って貼ったら収入印紙だった。危ねぇ。


どの切手を何枚貼ったら安く済むか。
PR
つづきはこちら "切手組み合わせ問題"

AirPods Proを買ってみた

2021年06月24日
AirPods Proを使ってみた感想をまとめた。

正直な感想は、期待外れ。。。

目玉の機能であるノイズキャンセリング。確かに周りの音は消えるんだけど、音圧を感じるのか耳につけてるだけで疲れる。耳抜きをしたくなる。
ノイズキャンセリングのレベル設定できれば違うのかな。

電車の中でPodcastを聞くのが狙いだったのに、これじゃちょっと辛いなぁ。

AirPodsProはモードが3つあって、ノイズキャンセリング、オフ、外部音取り込みから選べる。その切り替え音がうるさい。

カナル型なので外音が聞こえづらいし、外音取り込むと不自然だし。
使い心地は、前のAirPodsのほうが良いなぁ。

今更だけど、前のAirPodsもダブルタップの挙動を設定できたのね。右耳をSiri、左耳をスキップに設定変更しよっと。

リストにある文字列を含むか判定_改良版

2021年06月14日
前回作ったツールで12万行のリストと照合をかけたら
400行を処理するのに460秒。1行で1秒かかった。。。


それと、リストに空白セルがあると
誤カウントで処理が終わらないことが判明。

比較条件にリストが空白でないことを追加した。
IF Key1List(j) <> "" And
IF Key2List(j) <> "" And


処理時間については、
比較対象の列を配列に格納して、配列同士を比較する処理に変更してみた。

Dim KeyText(): ReDim KeyText(LastRow)
Cells(Gyo, KeyCol) = KeyText(Gyo)

セルの値を読み込む回数は変わらないので
これだけじゃダメかなと思いつつも実験。

結果はなんと、30秒で処理完了。
そんな爆速になるなんてびっくり!



以下ソース。
つづきはこちら "リストにある文字列を含むか判定_改良版"

リストにある文字列を含むか判定

2021年06月13日
テーブルを作ったのはいいけど、不要なデータが紛れ込んでいた!!

正しいデータのリストがあって、不要データか判別したい。
そんなニーズを叶えるマクロを作ってみた。




いきなり作りたくなる気持ちを抑えて、まずはネットで検索。
クリーンヒット!

https://kirinote.com/excelvba-listcharacter/

もろにやりたいことを実現するページを発見。

参考サイトでは色分けをしていたけど、
右側のセルにキーワードをいくつ含むかカウントする処理を入れた。


リストの内容を配列に格納するのがポイントで、
セルを参照した処理だと行数の多いリストでは処理しきれない。

行ループについても配列にして、出力も配列に格納したほうが早いけど
手間の割に劇的な効果はないと思うのでこのまま。

対象のシート名、テーブルのタイトル行、参照列、出力列を定数化した。



以下、ソース。
つづきはこちら "リストにある文字列を含むか判定"

RPAプロセス競合対策

2021年06月09日

今日はUipathのプロセス競合(別のプロセスがファイルを開いている)で
リネームできずにロボットが止まってしまった話。

出力フォルダを覗いてみると、リネーム処理がされていない。
メモ帳でCSVファイルを保存したが、その処理が完了する前にリネーム処理が走っている模様。

じゃあ、トライキャッチでリネーム処理に失敗したら3秒待機させてから再びリネーム処理をさせるように変更。

さっそく試してみたけど、トライする前にエラー出てるし!


トライキャッチは、このサイトがわかりやすい。
https://koawaka.com/rpa-school/uipath-trycatch/#i-2

エラー発生時:Try→Catches(System.Exception)→Finally
エラー未発生時:Try→Finally




今回のリネーム処理はフォルダ内全ファイルをループで回しているのだが、
For Each item in Directory.GetFiles(フォルダパス)の処理で
ループ変数のitemがオブジェクト扱いになっているようで
処理中のファイルにアクセスしたことが原因と判明。

item変数のTypeArgumentをObjectからStringに変えてみたけど効果なし。

リネームしたいファイル名は、決まっているので今回はべた書きで対応した。

フォルダ内ループの参考ページ
https://www.rpahiroba.com/2018/08/19/uipathで複数ファイルに同じ処理をする方法/

時間内で調べきれなかったけど、これならいける!?

コレクションをファイルリストで取得
https://sweetpox.com/get-file-list


今度試してみて、また更新します。