Excel VBA 質問スレ Part62

■ このスレッドは過去ログ倉庫に格納されています
1
垢版 |
2019/06/24(月) 00:21:37.48
!extend:checked:vvvvv:1000:512

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part61
http://mevius.5ch.net/test/read.cgi/tech/1556203263/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2019/07/25(木) 00:42:50.48ID:Gl1cJZMi0
作り始めてみないと作れるかどうかなんか分からない
作ってみりゃいい
ダメなら使わなければいいだけ
そうやって上達していく
2019/07/25(木) 01:12:01.57ID:5qtaCE1dM
適当に作って上達って・・
ちゃんと考えなくっちゃ上達なんてない
2019/07/25(木) 02:17:55.08ID:j99gzyNC0
質問です。
セルB2の時間から4時間5秒後の時間をセルC2に記載したいときどのようにコードを書けばいいでしょうか?
セルB2が文字や数字だとC2は""でB2が時間のときだけC2に4時間5秒足したいです。
時間を足すだけなら
range("c2").value = DateAdd("s", 14405 , range("b2")
)と書けばいいのは解るんですが、分岐処理が上手くかけません。
2019/07/25(木) 03:57:32.39ID:04HWMie30
時間の表示形式は?統一されてるの?
482デフォルトの名無しさん (ワッチョイ 068c-0v1+)
垢版 |
2019/07/25(木) 03:58:38.58ID:lnZalLM00
VBA使わずに関数だけでやっちゃだめなの?
2019/07/25(木) 05:26:07.94ID:dATWdLko0
>>463
乱数は偏っているから、使ってはいけない!

例えば、50人の場合、
5人は10回選ばれて、別の5人は0回など、極端になるから
2019/07/25(木) 07:08:49.98ID:AYG483l20
>>480
IsDate でいいんじゃね
2019/07/25(木) 07:54:16.98ID:5qtaCE1dM
VBAはセルの追加削除に追随出来ないから関数で十分なものは関数を使うべき
2019/07/25(木) 11:30:00.12ID:nCaXNWq80
>>476
まあ、必要要件をまとめられないのは、何が必要かもわからないからだよな
それを知るためにも、>>466さんの言っているように専門家と契約するのが
一番コストが低く済むな
自分で作る、このスレで質問するなんて要件難しくて無理だから
2019/07/25(木) 11:52:40.21ID:5L4KGe8+M
なんでお前らが他人の業務心配してんの
回答は
VBAで出来ますよ
で終わりだろ
2019/07/25(木) 12:05:41.30ID:nCaXNWq80
>>487
でも、お前Excelもろくに使えないだろ(笑)
VBA使う意味ないんだよ
2019/07/25(木) 13:27:15.91ID:nCaXNWq80
>>462
もう少しわかりやすく書いてやれよ
数値ピッチを宣言して
ピッチでMaxからMiniまでStep-1で回して
長さとピッチのモッドが60-100に収まればOK
そのピッチの値、ただこれだけ
2019/07/25(木) 13:34:02.88ID:nCaXNWq80
あ、エラーはピッチがMiniより小さかったらエラーだな(笑)
2019/07/25(木) 14:30:07.15ID:a7DwyeCF0
>>477
普通はWebブラウザコントロール使うと思うんだが。
完全に一緒じゃないけど、よっぽど現実的。
2019/07/26(金) 10:59:45.98ID:nW8IFIW60
ExcelVBAのユーザーフォーム上で、PDFを表示、操作をしたいです。
ですが、ユーザーフォームにコントロールを追加しようとすると、
「要素が見つかりません」とダイアログが表示され出来ません。
どなたか解決策をご存じの方がいましたら、教えていただけますでしょうか。。

Acrobat pro DCはインストールしてあり、ExcelはOffice365を最新の状態で使用してます。
2019/07/26(金) 19:39:04.29ID:Mlm4oTrf0
>>492
コントロールってどれ?
2019/07/27(土) 08:56:54.14ID:4Tko0dWk0
バーコードたくさん作って印刷するプログラム作ってるんだけど
一筋縄ではいかないな
いろいろエラーが出て大変だわ
しかもステップインしながら様子みようとすると
中断モードでは入力できません
とやらのエラーがでる
回避する方法はあるようだけどめんどくさそうだ
2019/07/27(土) 08:59:35.78ID:T1jDYlFV0
>>494
バーコードってバーコードフォントがあるから楽勝だよ
気をつけるのは頭の0が消えないように文字列にするぐらい
2019/07/27(土) 09:07:12.15ID:4Tko0dWk0
>>495
それって外部からフォント導入しないといけないやつですよね?
会社のPCでやってるんでだめなんですよね
今はこれ↓を参照して使ってます
Microsoft Access BarCode Control 14.0
重いしエラー出やすいし別の方法があればいいんですけど
2019/07/27(土) 09:09:23.16ID:T1jDYlFV0
フォントの導入も出来ないのか
それはさすがにキツイなぁ
2019/07/27(土) 09:11:52.17ID:T1jDYlFV0
>>496
バーコード 作成 サイト
で検索したら出てきたよ
https://barcode-place.azurewebsites.net/

他にも色々あるから探してみてはどうかな
2019/07/27(土) 09:18:31.74ID:4Tko0dWk0
>>498
ありがとう
でも、そもそもネットすら自由に使えないんですよね
あと、数百個作って印刷するので、ネット経由だと時間かかりそう
お客さんがらみの情報を外に出すことに上の人が嫌がるだろうということを考えると
ローカルで終わる仕組みがないと厳しいですね
2019/07/27(土) 09:23:26.79ID:T1jDYlFV0
牢獄かよwwwww

・フォントを作る。
バーコードは0-9の10個しかない
svgで作ってローカルのhtmlに表示させる
2019/07/27(土) 09:50:59.75ID:9xF62cln0
>>500
バーコードにも色々な種類があってだな。。。
JANコードでも表現できるキャラクターは10種類の数字だけだけど、コードは20種類あって適切に並べないといけないんだぜ
2019/07/27(土) 09:54:25.37ID:4Tko0dWk0
>>500
セキュリティが特に厳しすぎるというよりも、意識が昭和なんですよね
人員削減されるからエクセルマクロつくるなとか面と向かって言う大御所もいるんで
とにかく目立たぬよう、些細な問題であっても起きないよう・・・と神経使うんです

今エラー回避の大きな進展があったのでなんとかこのまま組んでみます

Forで回しながらバーコードを作成・セルに配置していくんですけど
配置したセルの左上にナンバリングするコードを入れるとエラーで落ちるんですよね

バーコードを配置する処理と、ナンバリングする処理を異なるForで分けたらエラー出なくなりました
それ以外のコードは同じなんでなんだか理不尽なのですが、
理屈から攻めるより、多様なコードを試して見てどれがいけるか試して見るという
数打ちゃ当たる的な攻め方をするしかないみたいです
ステップ実行できないのがつらいですが
2019/07/27(土) 13:48:31.18ID:9xF62cln0
>>502
どう考えても自分でバグに気付いてない
オブジェクトの指定が間違ってる可能性が一番高いから、何もかも省略せずにきちんと書いてみ
2019/07/27(土) 14:03:45.48ID:nw7YuAgg0
なんとなく画像のバッファかなんかが溜まってる気がする
screenupdateをtrueにしたまま回すと多分落ちない気がする
2019/07/27(土) 15:48:46.00ID:4Tko0dWk0
>>504
それっぽいのかなと思ってます
起動して初回の処理は何の問題なくいけるんですけど
2回目ボタンを押して別のバーコードを作ろうとするとエラーがでるんですよね
印刷処理が終わった直後にバーコードや連番すべてを削除するコードを置いているんですけど
おそらく何かが残っているんじゃないかと思います

今の所は>>502で書いたように処理を分けることでうまくいってます
原因特定できたわけじゃないんですけどね
全削除のコード自体はそのままなので、ここに問題はないんじゃないかと思っています

ScreenUpdatingはFalseにしても以前のコードだと同じようにエラーがでますね
それだけじゃなくて、実用には耐えられないレベルで遅くなります

>>503
1.もしオブジェクトの指定が間違えているとするなら初回でもエラーがでるだるはず
2.今のコードと、バーコード配置直後にナンバリングするコードでオブジェクトの指定は同じ
なので、やはり原因とするには矛盾があるかな



最終的には、負荷を減らすために、1ページ分バーコードを作ったら
その都度印刷+全削除を繰り返すことで全て印刷するという形で組んでいこうと思っています
バッファ絡みだと嫌な予感もしますが、原因特定はできなくとも、エラー回避方法は特定できてきたのでなんとかなるかなと
2019/07/27(土) 16:22:17.12ID:nw7YuAgg0
>>505
>ScreenUpdating
これは残念
地味に自信があったのにw

>ゴミどうこう
恐らく当たっている
vbaはGC、ガベージコレクション・・要は前の作業のゴミ掃除が貧弱

一番わかりやすいのは、新しいbookをデスクトップが同じフォルダにでも作ってそこで作業させること
コード上は色々とややこしくなるが、大分緩和される

多分一番いいのはVBS、Excel外から作って、Excelをそのたびに再起動させる事
それならまず大丈夫
2019/07/27(土) 17:21:27.70ID:0zw3343k0
こういう問題が出て
https://gyazo.com/6bbc43b5a4346db69404d52e985b0244
https://gyazo.com/faf8012dcb22cdd442c687663f1e7524
セル番地(F10)について、次の問1から問3を解答しなさい。
問1 セル番地(F10)を複合参照で列を固定した答えを記入しなさい。
問2 セル番地(F10)を複合参照で行を固定した答えを記入しなさい。
問3 セル番地(F10)を絶対参照で列と行を固定した答えを記入しなさい。

1,SUM($F5:$F9) 2,SUM(F$5:F$9) 3,SUM($F$5:$F$9)  と解答したら全て間違えてました。
解答が分からないので教えて下さい。
2019/07/27(土) 17:31:16.63ID:nw7YuAgg0
>>507
Excelスレで完全に合ってるから教師に聞けと言われてる奴だろ
一応見直したけど合っている
教師に何が間違っているのかを聞いたほうが良い
2019/07/27(土) 17:37:41.95ID:hapzpDWL0
>>507
スレチ
https://mevius.5ch.net/test/read.cgi/bsoft/1556754363/
2019/07/27(土) 17:39:32.12ID:0zw3343k0
>508
そうです。でも全てバツが入ってました…。
返却されたプリントに、"セル番地(F10)についてここのみで記します"と書いてありました。
自分には意味がさっぱりですが何か分かりませんか?
511デフォルトの名無しさん (ワッチョイ 8a02-tP4r)
垢版 |
2019/07/27(土) 17:52:14.66ID:elOLq8oK0
VBAのフォームのテキストボックス内のフォントサイズが場所によってまちまちなんですが、
どうしたら統一できるでしょうか?
因みに、
テキストボックスのプロパティ(フォント名、フォントサイズ、ボックス高さ)はすべて統一しています。
https://uploader.xzy.pw/upload/20190727174533_466d653379.png
2019/07/27(土) 17:55:18.22ID:0zw3343k0
”ここの外で記します”と書いてあるかも知れないです。先生の字が汚くて読めない…
セル番地(F10)について、ここの外で記します。と書いてあるのでそれがヒントになってると思うのですが。

これを踏まえた上で>>507の解答お願いいたしますm(_ _)m
2019/07/27(土) 17:57:54.34ID:hapzpDWL0
>>511
サイズ違うやつって全角じゃないの?
2019/07/27(土) 18:04:51.46ID:nw7YuAgg0
>>510
このスレをその教師に見せろ
その教師は無能でアホだから何も分かっていない

'以下、その教師に当てる連絡

テメーより何十年も現場で使い倒してる連中が全員正解と言っている
つまらないルールがあるならそれを書け、聞いてやった上で正解を出してやるから書き込め

'連絡、ここまで
2019/07/27(土) 18:04:53.29ID:zfEkdoko0
スレ違いだっていわれてんのになめてんのか?
516デフォルトの名無しさん (ワッチョイ a38e-SsL+)
垢版 |
2019/07/27(土) 18:05:26.47ID:0I7B0fTa0
>>512
死ねや、クズ
2019/07/27(土) 18:06:41.53ID:nw7YuAgg0
>>512
字が汚くて読めないなら聞け
それで何かあれば全部お前の責任だ

>>516
殺すのは簡単だがもう少し成長させろ
2019/07/27(土) 18:08:26.65ID:nw7YuAgg0
>>512
お前みたいなゴミクズが言われたままに従うから教師がつけあがるんだよ
教師に「指示に従いたいが何書いてるか分からないから従えない」
といえば100%回答する
わかるまで聞け
2019/07/27(土) 18:11:07.39ID:X/lrVnpNd
>>514
ここ学校の連絡掲示板じゃないんで
2019/07/27(土) 18:13:50.95ID:nw7YuAgg0
>>519
ここで良い
いいから見せろ
ここでなければ教師は切り取って「あー一部がほえてるだけだHAHAHA」なんていうだけだろう
2019/07/27(土) 18:16:51.94ID:kP1N8Rftd
>>520
スレタイが理解できないなら仕方ないな
2019/07/27(土) 18:51:44.04ID:elOLq8oK0
>>513
数字はすべて全角です
2019/07/27(土) 18:57:28.77ID:1cAkezH+0
>>522
全角やめたほうがいいよ
数字としてプログラムが処理できない

使うとしたらフォトショでクリエイティブな作品を作るときぐらい
2019/07/27(土) 19:03:45.50ID:hapzpDWL0
>>522
ほんとに統一されてるか?されてないから違うんじゃないか?
2019/07/27(土) 23:59:06.49ID:eS9QWMI/M
>>511
どうでもいいかもしれんが、何でシートでやらんの
面倒いだけじゃない
526デフォルトの名無しさん (ワッチョイ 0a2f-aoqV)
垢版 |
2019/07/28(日) 04:39:33.47ID:rLjNQrfA0
>>508
列の合計で。C10:E10が正解って落ちなんじゃ
2019/07/28(日) 09:32:44.25ID:Ao5MhP5V0
> セル番地(F10)を
つまり「$F10, F$10, $F$10」が答えってオチ?
2019/07/28(日) 09:54:38.87ID:UXTeVNdOd
>>527
俺はそう解釈したが。
むしろCとかEとか何処から出てきたん
2019/07/28(日) 12:28:22.02ID:Ln2vM5+c0
>>526
単価バラバラの個数集計して何をしたいんだ?
530デフォルトの名無しさん (ワッチョイ 068c-0v1+)
垢版 |
2019/07/28(日) 15:40:47.61ID:9CPL8aqE0
>>507
>>512
”ここの外で記します”だから
F10以外のセルに記する
すなわちF10以外のセルからF10を参照するにはどのように書けばいいかということじゃない?
1. $F10
2. F$10
3. $F$10
2019/07/28(日) 15:44:43.68ID:sZg+ZdsB0
>>493
Adobe PDF Reader コントロールです。
2019/07/28(日) 16:34:10.62ID:19w4dfv20
>>531
Excelのバージョン違うけど俺も同じエラー出たからWebBrowserコントロールで表示させた
2019/07/29(月) 21:45:38.25ID:CSar0obtd
https://i.imgur.com/7ssVURS.jpg
2019/07/30(火) 10:04:06.46ID:/sOZLFOB0
for i = 2 to 6
Sheet1.Range(cells(i, 1), cells(i, 7)).Value = Sheet3.Range(cells(2, 1), cells(2, 7)).Value
next i
これがエラー吐くんですがどうしてだかわかりますか?
なおコードは簡略化してあります。エラーが出るところだけピックアップしてみました。
2019/07/30(火) 10:21:39.52ID:RYwsY7rK0
セルの結合などで配列が作れないとか?
2019/07/30(火) 10:27:09.85ID:/sOZLFOB0
セルの結合はしてないです
2019/07/30(火) 10:38:34.52ID:7eiKBQzd0
cellsにもシート指定する
2019/07/30(火) 10:56:49.73ID:/sOZLFOB0
流石です。できました!
2019/07/30(火) 11:21:54.97ID:/sOZLFOB0
もうひとつ質問です。
エクセルは24時を越える時間をセルに入力するとセルの頭に1900/1/1とついてしまいますがこれを消す方法はないでしょうか。
具体的には
Range("d2").Value = DateAdd("s", 14405 * (cells(2, 7).Value + 1), cells(2, 3))
とやって4時間の倍数を計算したとき24時を越えると時間の前に1900/1/1がついてしまいます。
これがついたときこの1900/1/1の部分を消したいのです。
例えばright関数を使って右の時間の部分だけとろうとしてもシリアル値がコピーされるのか、上手く行きません。
2019/07/30(火) 11:25:40.51ID:/sOZLFOB0
なお書式設定でhh:mm:;ssとしているので見かけ上はちゃんと時間だけ表示されます。
この時間をソートしたとき頭に1900/1/1がついた時間が後ろに回りこんで困っています。
2019/07/30(火) 12:41:51.17ID:q4AvHDZpM
>>54
> この時間をソートしたとき頭に1900/1/1がついた時間が後ろに回りこんで困っています。
そりゃ24時間超えてるんだから下に来るのは当たり前
取り敢えず簡単にやるなら
Range("d2").Value = Mod(DateAdd("s", 14405 * (cells(2, 7).Value + 1), cells(2, 3)), 1)
の様にして少数部だけにすればいい
ちゃんと知りたいなら
Excel シリアル値
あたりでググってくれ
2019/07/30(火) 19:06:59.93ID:WgMpTdZUd
どれも初心者が陥る有りがちな罠。
中級者以上なら皆知ってる。
2019/07/30(火) 19:48:55.40ID:/sOZLFOB0
>>541
mod関数を使って余りを求める発想は恐れ入りました。
しかし、コピペで上手く動作しなかったので、シリアル値が1以上だと表示されることに注目して
if文を使って1以上ならシリアル値から−1するようにコードを書き換えました。
今のところ上手く動いてますがmod関数を使った余りを求める方法のほうが遥かにスマートなので
試行錯誤しながらmod関数を取り入れてみたいと思います。
ありがとうございました!
2019/07/30(火) 20:02:47.84ID:q4AvHDZpM
>>543
まあ本来modとか剰余とかは整数にしか定義されてないからExcelがちょっと異常だと思ってた方がいいと思うよ
2019/07/30(火) 20:27:28.12ID:AKu0TaFKM
>>544
IEEEの剰余演算知らないのか
素人丸出しだな
2019/07/31(水) 06:47:02.32ID:xZH8peU8M
すきあらばマウンティングとかw
2019/07/31(水) 07:02:37.78ID:Pk+8r5fC0
マウント関数
2019/07/31(水) 13:15:14.27ID:d2gdTfTi0
>>532
やっぱりそうなりますか。
僕も代替策でWebBrowser使ってるのですが、こういうの気持ち悪くて。
WebBrowserだと印刷とか拡大のボタン出てきちゃうし。
2019/07/31(水) 22:27:47.84ID:bMN05+Sd0
時間を24以上にしたいなら
表示形式で[hh]:mmみたいに角括弧つける方法もある
2019/08/01(木) 06:52:12.88ID:dXXftso1M
>>549
ソートするとおかしいと言ってるからそれ関係ない
>>545とかもそうだがチンケな知識自慢はウザイだけ
2019/08/01(木) 22:46:09.22ID:DllCcR/k0
時刻が昇順に見えなくておかしいなら[hh]:mmで昇順に見えるよ
2019/08/01(木) 23:23:27.20ID:nCBAvKB70
コールバック関数をどういう状況で使うのか分からないんですけど、
↓こんな状況で使う、で合ってますか?

Sub Test()

 この中で、関数Aを実行したい場合と、関数Bを実行したい場合がある。
 If文で、関数Aと関数Bを分岐するのは嫌。

End Sub
2019/08/01(木) 23:25:07.45ID:i4bRK0c30
今すぐ実行しないけど、何を呼ぶかは今決めておきたい時
2019/08/02(金) 00:58:24.36ID:EdsLlVlVa
依存関係を逆転するんだよ
AがBを呼ぶ場合、普通はAがBに依存するだろ?
コールバックやインターフェイスを使うことで、AがBに依存しないままでBを呼ぶことができる
それによりAを変更することなくBを別の実装Cに差し替えることが可能になり、Aの再利用性が高まる
まあVBAにはそんな小難しい概念は全く必要ないから忘れていい
2019/08/02(金) 06:30:07.60ID:8FKwQRXt0
コールバックは非同期だとめちゃくちゃ便利だけどvbaみたいに一本の処理が続く言語ではあんまり意味が無い
独自関数のイベントハンドラすら無いなら尚更
2019/08/02(金) 13:06:20.71ID:CGHTW3BLd
コールバックは非常に重要なんだけどVBAで出てくるのはサブクラスやフックなんかの高度な話の時や、コールバック使用を前提とするWin32APIの時だな。
2019/08/04(日) 15:16:30.47ID:5ZS1G+AH0
・Microsoft HTML Object Library
・Microsoft Internet Controls
これらを参照したプログラムを社内で組んで使っています。

ベースとなるIE上のページにあるいくつかのリンク先から必要な情報を
とりだしてワークシートに並べるだけの単純なものです

これまでWindows7(64bit)+Excel2010だったのですが
Windows10+Excel2016に近々移行するという話が出ています

そのまま使い続けられたらいいなと思っているのですが、
何か明らかに問題となるような事項はご存じでしょうか?

自分で組んだものなので、修正はできるのですが、アクセスしにくい場所にあるので
事前に知っておくことができれば対応しやすいなと思っています
2019/08/04(日) 15:50:09.98ID:VJisWwvJ0
>>557
Win10+IEでは、IEのプロセスがしばらく消えなかったり、読み込み完了してもReadyStateがきちんと変化しなかったりで、移行にはかなり苦労すると思われる
俺はすごく苦労した
2019/08/04(日) 17:49:24.07ID:5ZS1G+AH0
>>558
その辺は移行後じゃないと分からなさそうですね
一旦使用中止した上で確認することも考えます
ありがとうございます
2019/08/04(日) 18:18:52.51ID:wM8jMXaC0
IEオブジェクトはそろそろやめた方が良いね
2019/08/04(日) 18:58:46.79ID:6Wul5V0eM
読み込み完了を確実に知る手段がないからなReadyStateあてにならないし
2019/08/04(日) 19:10:37.00ID:wM8jMXaC0
ajaxがあるともう無理
2019/08/04(日) 19:47:17.29ID:VJisWwvJ0
>>561
実は方法はあるんだけど、あんまりスマートじゃないんで他人の使うアプリでは採用しづらい
2019/08/04(日) 21:08:59.72ID:ct85luz10
On Error〜 と Do Loop ?
2019/08/04(日) 21:21:12.54ID:wM8jMXaC0
doloopで取得する方法って無限ループになりそうで怖い
2019/08/04(日) 23:22:30.08ID:wIzeuvQb0
Excelでソースを見られないようにする方法はありますか?
プロジェクトのパスワードはすぐに突破されるので
2019/08/04(日) 23:24:28.94ID:wM8jMXaC0
無いよ
2019/08/04(日) 23:25:56.68ID:wM8jMXaC0
と思ったけどスマン
dllにして読み込む形なら結構行けるんじゃないかと思った
5691=”ー1”、Null=”” (ワッチョイ f5ad-zwOC)
垢版 |
2019/08/05(月) 02:53:35.25ID:nP4zzQcy0
見た目比較、柔らか比較、直観比較、なんて言うんでしょうね?
どうググればいいのか
スレチなのかどうか
VBAに限らず、C#でも結局、空文字連結が最良だった印象
でも問題にしたい基本はExcel VBA

 If A & ””=B & ”” Then

というのは、数字を1セルずつ入力すると数値になるけど、配列でまとめて入れると文字になったり
でも単純に「1」なら「1」なのだとしたい場合

ちなみにCStrはNullでエラーになるので&””の方が便利
便利だけでなく、速度も圧倒的に&””の方が速い
(ちなみにセルのTextプロパティもめっちゃ遅い)

ちなみにセルをString変数に代入してから比較する方が、&””より1〜2割速い
セルにNullを入力しても空文字になるので、セル側には使える
でも用途限定&ソース増えるので、よほどの大量処理で困らない限り、一般的には&””が安定かな

でも昔、「なんで空文字連結してるの?」って誰かに怒られたことがあり、なんとなく後ろめたい
でもテストを重ねるうちに例外に気付き、最初からやっときゃ良かったじゃんとなる

どうなんですかね?
2019/08/05(月) 02:54:38.57ID:nP4zzQcy0
あれ、1=”ー1”ってなんだw
1=”1”ね
2019/08/05(月) 06:35:19.95ID:fZ1grq280
>>569
型変換のために空文字列を連結したり0を足すのは、ワークシート上ではよくやるけどVBAでは避けた方がいい
セルの表示内容を文字列で欲しい時はTextプロパティを使うのがセオリーだし、自分でも書いてるけどString型の変数に代入するべき
2019/08/05(月) 09:21:52.72ID:DamzU/6ud
>>571
Textプロパティは使わねえな。
2019/08/05(月) 11:48:01.13ID:9MgYLk7e0
>>558横からすみません
すごく苦労した部分の詳細や対応策を教えていただけないでしょうか
2019/08/05(月) 13:25:50.95ID:fZ1grq280
>>573
俺が試行錯誤の末に発見したのは、IEオブジェクトのVisibleプロパティが変化するとReadyStateが更新される、ということ
だから

objIE.Visible = False
objIE.Visible = True

という2行を読み込み完了チェックのループに挿入した
あと、IEが非アクティブになるとエラーで止まることがあるので、マクロ実行中は一切さわってはいけないという制約まで付く
ここまでやって、画面がものすごい勢いで点滅するけど、一応の結果は得られるようになった
あと、Win10の次の大型アップデートでIEの動作がまた変わるかも知れないので、いつまでも使える保証がない

JavaScriptやcookieやセッションの管理などが必要なければXMLHTTPを使った方が簡単で確実
575デフォルトの名無しさん (ワッチョイ 75f1-xVkp)
垢版 |
2019/08/05(月) 14:36:12.11ID:RvbOnux20
タブブラウザで新しいタブに追加する方法はあれから発明されましたか?
2019/08/05(月) 16:28:51.96ID:9MgYLk7e0
>>574さん
ありがとうございます

すごい参考になりました
時々ReadyStateが更新されずDo-Loop抜けずに困っていました
577デフォルトの名無しさん (スッップ Sd43-nSnx)
垢版 |
2019/08/05(月) 18:35:15.20ID:nHSuKmq3d
今でもIEなんて使ってるのお前らだけだろ
あんたの会社はセキュリティとか気にしないんだね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況