!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part62
https://mevius.5ch.net/test/read.cgi/tech/1561303297/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part63
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (ワッチョイ d3d0-EPXH)
2019/09/16(月) 19:34:59.04ID:emfTAhXr0812デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/24(日) 17:31:24.17ID:cfSGuIz8d >>811
そんなレベルの低い話はしてないんだがw
そんなレベルの低い話はしてないんだがw
813デフォルトの名無しさん (ワッチョイ 1342-iHas)
2019/11/24(日) 17:34:20.62ID:JpcuIalq0 困ったらググれ
814デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/24(日) 18:56:22.86ID:cfSGuIz8d815デフォルトの名無しさん (ワッチョイ c1da-pyDD)
2019/11/24(日) 18:58:17.94ID:C3DnnDsf0 >>809
正常動作しなくなったのは7の時点だけど、その時はAeroを切ってどうにか切り抜けた。
しかし10はどうしたものかなと。
LWA_ALPHAの方は全く問題ないんだけど。
複数のPCで確認したから、おま環ではないと思う。
正常動作しなくなったのは7の時点だけど、その時はAeroを切ってどうにか切り抜けた。
しかし10はどうしたものかなと。
LWA_ALPHAの方は全く問題ないんだけど。
複数のPCで確認したから、おま環ではないと思う。
816デフォルトの名無しさん (ワッチョイ c1da-pyDD)
2019/11/24(日) 19:01:21.70ID:C3DnnDsf0817デフォルトの名無しさん (ワッチョイ 7b68-QS5Z)
2019/11/24(日) 20:13:58.03ID:h0SmVkt10 使えなくなったのか
大昔ハマって透明アプリばっかり作ってた記憶
大昔ハマって透明アプリばっかり作ってた記憶
818デフォルトの名無しさん (ワッチョイ c1da-pyDD)
2019/11/24(日) 21:06:06.38ID:C3DnnDsf0 >>817
使えないっていうか、変な動作をするんだよ。
ThisWorkbook.Application.Hwndでハンドル取ってるのに、
なぜか最初に配置したコマンドボタンのキャプションだけが透過するとか。
使えないっていうか、変な動作をするんだよ。
ThisWorkbook.Application.Hwndでハンドル取ってるのに、
なぜか最初に配置したコマンドボタンのキャプションだけが透過するとか。
819デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/24(日) 21:33:06.21ID:cfSGuIz8d820デフォルトの名無しさん (ワッチョイ 8901-hZ32)
2019/11/24(日) 21:55:17.62ID:HD00MhY50 ストリートインハゲラクター
821デフォルトの名無しさん (ワッチョイ 9159-jtw9)
2019/11/25(月) 01:13:03.20ID:eciN8Z7y0 透過するアプリがあったなあ昔、なんだっけ。
822デフォルトの名無しさん (ワッチョイ c1da-/L9V)
2019/11/25(月) 03:00:00.82ID:N/R5jHCP0 透明じゃ見えないよ
823デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/25(月) 08:39:02.81ID:dg2mzwJYd ググったらサンプルコードが見つかるんじゃなかったのか?
824デフォルトの名無しさん (スプッッ Sd73-MY8M)
2019/11/25(月) 11:42:30.29ID:R7yXiHMCd 初歩的な質問ですみません
標準モジュールとユーザーフォームでプログラムを書いています
1つのモジュール内にプロシージャが沢山あり、読みにくくなってしまいました
本を読むとクラスモジュールでプログラムが読みやすくなると書いてありました
どのような時にクラスモジュールを使ったらプログラムは読みやすく出来ますか?
サブルーチンやForNext,if等の繰り返し使うものはクラスモジュールを使った方がいいでしょうか?
標準モジュールとユーザーフォームでプログラムを書いています
1つのモジュール内にプロシージャが沢山あり、読みにくくなってしまいました
本を読むとクラスモジュールでプログラムが読みやすくなると書いてありました
どのような時にクラスモジュールを使ったらプログラムは読みやすく出来ますか?
サブルーチンやForNext,if等の繰り返し使うものはクラスモジュールを使った方がいいでしょうか?
825デフォルトの名無しさん (ワッチョイ 518e-6LQQ)
2019/11/25(月) 11:52:41.48ID:aBzrxBdk0 >>824
そんなことをここで聞くような人には無理
そんなことをここで聞くような人には無理
826デフォルトの名無しさん (スプッッ Sd73-MY8M)
2019/11/25(月) 14:15:33.91ID:R7yXiHMCd827デフォルトの名無しさん (スフッ Sd33-mWXg)
2019/11/25(月) 14:41:38.68ID:Md9nMpL2d ぶしつけで恐縮ですが、シート内の改行を一気に削除する方法を教えていただけないでしょうか。
cellsで指定してreplaceメソッドってやってもできないので、誰かよろしくお願い申し上げます。
cellsで指定してreplaceメソッドってやってもできないので、誰かよろしくお願い申し上げます。
828デフォルトの名無しさん (ワッチョイ c1da-/L9V)
2019/11/25(月) 15:12:03.96ID:N/R5jHCP0 新しいシート作って改行をl削除したデータをコピーすればいいんじゃないかな
829デフォルトの名無しさん (ワントンキン MMd3-Na0O)
2019/11/25(月) 15:16:08.90ID:FfR4EE1kM Dim R As Range
For Each R In ActiveSheet.UsedRange
R = Replace(R, vbCr, "")
R = Replace(R, vbLf, "")
Next
あるいは
Cells.Replace What:=vbCr, Replacement:=""
Cells.Replace What:=vbLf, Replacement:=""
For Each R In ActiveSheet.UsedRange
R = Replace(R, vbCr, "")
R = Replace(R, vbLf, "")
Next
あるいは
Cells.Replace What:=vbCr, Replacement:=""
Cells.Replace What:=vbLf, Replacement:=""
830デフォルトの名無しさん (アウアウカー Sa55-DMja)
2019/11/25(月) 15:30:30.80ID:Q3qCCewla831デフォルトの名無しさん (ワントンキン MMd3-Na0O)
2019/11/25(月) 15:42:49.49ID:FfR4EE1kM いちおう説明
excel内の改行コードはLFが基本らしいんだけど
マクロ使ったりでCRLFも入力出来るらしい
なのでCRとLFで分けて処理させてみた
excel内の改行コードはLFが基本らしいんだけど
マクロ使ったりでCRLFも入力出来るらしい
なのでCRとLFで分けて処理させてみた
832デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/25(月) 16:52:28.97ID:dg2mzwJYd 結局>>789はどうにもならんのか?
833デフォルトの名無しさん (アークセー Sxc5-dWLu)
2019/11/25(月) 17:03:29.94ID:Wzgj59oVx >>824
クラスモジュールというのはユーザーが独自にメソッドやプロパティ、イベントを定義して使えるオブジェクトのことで、本質的にはユーザーフォームと変わらない設計とコーディングに結構手間がかかる
オブジェクト化によるカプセル化がどうしても必要なら試してもいいが、肥大化したモジュールのコードの可読性改善くらいの目的であればやらない方がいいかもしれない
クラス内に定義された関数を呼び出すにも、そのクラスの型をもつ変数を宣言してインスタンスを生成してメソッドを呼び出なければならなくなるのでね
モジュールがごちゃごちゃして嫌なら、モジュールに記載している関数を機能カテゴリに分類して、各機能カテゴリごとモジュールを分ければいいんじゃないのかな
文字列操作系、メール送信機能系、メッセージダイアログ系、みたいな感じの切り分けで
クラスモジュールというのはユーザーが独自にメソッドやプロパティ、イベントを定義して使えるオブジェクトのことで、本質的にはユーザーフォームと変わらない設計とコーディングに結構手間がかかる
オブジェクト化によるカプセル化がどうしても必要なら試してもいいが、肥大化したモジュールのコードの可読性改善くらいの目的であればやらない方がいいかもしれない
クラス内に定義された関数を呼び出すにも、そのクラスの型をもつ変数を宣言してインスタンスを生成してメソッドを呼び出なければならなくなるのでね
モジュールがごちゃごちゃして嫌なら、モジュールに記載している関数を機能カテゴリに分類して、各機能カテゴリごとモジュールを分ければいいんじゃないのかな
文字列操作系、メール送信機能系、メッセージダイアログ系、みたいな感じの切り分けで
834デフォルトの名無しさん (ワッチョイ 7145-MY8M)
2019/11/25(月) 18:09:55.21ID:H9kNla+G0 >>833
ありがとうございます
おっしゃる通りで今問題なく動くプログラムをわざわざ変える必要は無いですね
まずはモジュールを分けるところから始めてみます
今後プログラムを作る際の参考にさせていただきます
ありがとうございます
おっしゃる通りで今問題なく動くプログラムをわざわざ変える必要は無いですね
まずはモジュールを分けるところから始めてみます
今後プログラムを作る際の参考にさせていただきます
835デフォルトの名無しさん (ワッチョイ 8901-hZ32)
2019/11/25(月) 19:07:37.29ID:6cilP10x0 グラサンのハゲはここにこないの?
836デフォルトの名無しさん (ワッチョイ 7bf7-r64g)
2019/11/25(月) 19:23:35.97ID:9hpYEcN60 シートやセルと変数の定義が重複するようなときに一カ所まとめられて便利
837デフォルトの名無しさん (ワッチョイ 134f-/upO)
2019/11/26(火) 07:21:06.34ID:V8F4+JUa0838デフォルトの名無しさん (ドコグロ MM63-hZ32)
2019/11/26(火) 08:19:11.49ID:6EvauiRdM839デフォルトの名無しさん (アウアウウー Sa9d-rqK9)
2019/11/26(火) 18:13:05.92ID:lZztYBKEa お前らの部屋もガーベージだらけ
840デフォルトの名無しさん (ワントンキン MMd3-Na0O)
2019/11/26(火) 19:01:16.26ID:cGr33es4M ちゃんとコレクションしてるわ
841デフォルトの名無しさん (ワッチョイ 7b02-Ghh+)
2019/11/26(火) 19:11:03.72ID:s8aO6zrT0 ほこり被ってるけどな
842デフォルトの名無しさん (アークセー Sxc5-dWLu)
2019/11/26(火) 20:19:14.53ID:sWZAZ3HSx843デフォルトの名無しさん (ワッチョイ 8139-QS5Z)
2019/11/26(火) 20:33:43.32ID:+5U3MHb30 A列の値が「ア行」、B列の値が「あいうえお」のうちどれかであればC列を赤く塗り、
同じく「カ行」で「かきくけこ」のうちどれかであれば青く塗る、というような処理をしたくて
以下のようにしたところ一応うまくいったのですが、
「ア行 and あ」or「ア行 and い」or ……
というような複数条件の書き方はこれであっているのでしょうか?
If InStr(Range("A2").Value, "ア行") > 0 And InStr(Range("B2").Value, "あ") > 0
Or InStr(Range("B2").Value, "い") > 0 Or InStr(Range("B2").Value, "う") > 0
Or InStr(Range("B2").Value, "え") > 0 Or InStr(Range("B2").Value, "お") > 0 Then
Range("C2").Interior.Color = RGB(255, 0, 0)
ElseIf InStr(Range("A2").Value, "カ行") > 0 And InStr(Range("B2").Value, "か") > 0
Or InStr(Range("B2").Value, "き") > 0 Or InStr(Range("B2").Value, "く") > 0
Or InStr(Range("B2").Value, "け") > 0 Or InStr(Range("B2").Value, "こ") > 0 Then
Range("C2").Interior.Color = RGB(0, 0, 255)
同じく「カ行」で「かきくけこ」のうちどれかであれば青く塗る、というような処理をしたくて
以下のようにしたところ一応うまくいったのですが、
「ア行 and あ」or「ア行 and い」or ……
というような複数条件の書き方はこれであっているのでしょうか?
If InStr(Range("A2").Value, "ア行") > 0 And InStr(Range("B2").Value, "あ") > 0
Or InStr(Range("B2").Value, "い") > 0 Or InStr(Range("B2").Value, "う") > 0
Or InStr(Range("B2").Value, "え") > 0 Or InStr(Range("B2").Value, "お") > 0 Then
Range("C2").Interior.Color = RGB(255, 0, 0)
ElseIf InStr(Range("A2").Value, "カ行") > 0 And InStr(Range("B2").Value, "か") > 0
Or InStr(Range("B2").Value, "き") > 0 Or InStr(Range("B2").Value, "く") > 0
Or InStr(Range("B2").Value, "け") > 0 Or InStr(Range("B2").Value, "こ") > 0 Then
Range("C2").Interior.Color = RGB(0, 0, 255)
844デフォルトの名無しさん (ワッチョイ 8901-hZ32)
2019/11/26(火) 20:46:08.04ID:eRvpjELG0 グラサンのハゲはここにこないのー?
845デフォルトの名無しさん (ワッチョイ 7bf7-r64g)
2019/11/26(火) 21:20:11.71ID:nfr+llLM0846デフォルトの名無しさん (ドコグロ MM63-hZ32)
2019/11/26(火) 21:29:30.19ID:6EvauiRdM >>843
> 「ア行 and あ」or「ア行 and い」or ……
> というような複数条件の書き方はこれであっているのでしょうか?
ダメ
AndよりOrの方が優先順位が低いので
InStr(Range("A2").Value, "ア行") > 0
And InStr(Range("B2").Value, "あ") > 0
Or InStr(Range("B2").Value, "い") > 0
Or InStr(Range("B2").Value, "う") > 0
Or InStr(Range("B2").Value, "え") > 0
Or InStr(Range("B2").Value, "お") > 0
は
(InStr(Range("A2").Value, "ア行") > 0 And InStr(Range("B2").Value, "あ") > 0)
Or InStr(Range("B2").Value, "い") > 0
Or InStr(Range("B2").Value, "う") > 0
Or InStr(Range("B2").Value, "え") > 0
Or InStr(Range("B2").Value, "お") > 0
のように解釈される
なのでA2が "ア行" でなくてもB2が "い" だと成立しちゃう
詳しくは
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/operator-precedence
を見て
> 「ア行 and あ」or「ア行 and い」or ……
> というような複数条件の書き方はこれであっているのでしょうか?
ダメ
AndよりOrの方が優先順位が低いので
InStr(Range("A2").Value, "ア行") > 0
And InStr(Range("B2").Value, "あ") > 0
Or InStr(Range("B2").Value, "い") > 0
Or InStr(Range("B2").Value, "う") > 0
Or InStr(Range("B2").Value, "え") > 0
Or InStr(Range("B2").Value, "お") > 0
は
(InStr(Range("A2").Value, "ア行") > 0 And InStr(Range("B2").Value, "あ") > 0)
Or InStr(Range("B2").Value, "い") > 0
Or InStr(Range("B2").Value, "う") > 0
Or InStr(Range("B2").Value, "え") > 0
Or InStr(Range("B2").Value, "お") > 0
のように解釈される
なのでA2が "ア行" でなくてもB2が "い" だと成立しちゃう
詳しくは
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/operator-precedence
を見て
847デフォルトの名無しさん (ドコグロ MM63-hZ32)
2019/11/26(火) 21:38:29.33ID:6EvauiRdM >>843
そもそも
> A列の値が「ア行」
と言うなら
Range("A2").Value = "ア行"
と書けばいい
InStr(Range("A2").Value, "ア行") > 0
だとA2が "マレーシア行きのバスはここから出ます" でも成立しちゃうけどそれはいいのか?
そもそも
> A列の値が「ア行」
と言うなら
Range("A2").Value = "ア行"
と書けばいい
InStr(Range("A2").Value, "ア行") > 0
だとA2が "マレーシア行きのバスはここから出ます" でも成立しちゃうけどそれはいいのか?
848デフォルトの名無しさん (ワッチョイ 8139-QS5Z)
2019/11/26(火) 21:41:08.57ID:+5U3MHb30 あらそうだったんですね。ということは
InStr(Range("A2").Value, "ア行") > 0
And (InStr(Range("B2").Value, "あ") > 0 Or InStr(Range("B2").Value, "お") > 0) Then
という感じにすればいいんでしょうか?
InStr(Range("A2").Value, "ア行") > 0
And (InStr(Range("B2").Value, "あ") > 0 Or InStr(Range("B2").Value, "お") > 0) Then
という感じにすればいいんでしょうか?
849デフォルトの名無しさん (ワッチョイ 7bf7-r64g)
2019/11/26(火) 21:43:24.14ID:nfr+llLM0 >>845の左順って間違いだったは
変更はそれでOK
変更はそれでOK
850デフォルトの名無しさん (ワッチョイ 8139-QS5Z)
2019/11/26(火) 21:46:05.70ID:+5U3MHb30 ああなるほど。文言は固定でかぶってる言葉がなかったので大丈夫だったんだと思います
すでにあった文言の組み合わせの違うVBAをいじったもんですからそれを大枠はそれをそのまま
使ったんですけどそう言われればそうですね
すでにあった文言の組み合わせの違うVBAをいじったもんですからそれを大枠はそれをそのまま
使ったんですけどそう言われればそうですね
851デフォルトの名無しさん (ワッチョイ 8139-QS5Z)
2019/11/26(火) 21:50:37.69ID:+5U3MHb30 If Range("A2").Value = "ア行"
And (InStr(Range("B2").Value, "あ") > 0 Or InStr(Range("B2").Value, "お") > 0) Then
Elseif Range("A2").Value = "カ行"
And (InStr(Range("B2").Value, "か") > 0 Or InStr(Range("B2").Value, "こ") > 0) Then
こうでしょうか?
And (InStr(Range("B2").Value, "あ") > 0 Or InStr(Range("B2").Value, "お") > 0) Then
Elseif Range("A2").Value = "カ行"
And (InStr(Range("B2").Value, "か") > 0 Or InStr(Range("B2").Value, "こ") > 0) Then
こうでしょうか?
852デフォルトの名無しさん (ワッチョイ 134b-Na0O)
2019/11/26(火) 21:55:48.15ID:dLRQEMpj0 もいちょい頑張って正規表現使ったらいいんじゃないでしょうか
853デフォルトの名無しさん (ワッチョイ 8139-QS5Z)
2019/11/26(火) 22:05:12.70ID:+5U3MHb30 正規表現だと
If Range("A2").Value = "ア行"
And (Range("B2").Value Like "[あ, い, う, え, お]" Then
これであってますか?
If Range("A2").Value = "ア行"
And (Range("B2").Value Like "[あ, い, う, え, お]" Then
これであってますか?
854デフォルトの名無しさん (ワッチョイ 7bf7-r64g)
2019/11/26(火) 22:24:52.56ID:nfr+llLM0855デフォルトの名無しさん (ワッチョイ 7b68-QS5Z)
2019/11/26(火) 22:25:20.59ID:upmpwVtz0 正規表現はRegExp使う奴だよ
856デフォルトの名無しさん (ワッチョイ 8139-QS5Z)
2019/11/26(火) 22:34:52.14ID:+5U3MHb30 簡略化するためにあいうえおを使いましたが、実際は2〜10文字程度の文字列なので、
And (Range("B2").Value Like "東京|大阪|名古屋" Then
こうすればいいのかな?
And (Range("B2").Value Like "東京|大阪|名古屋" Then
こうすればいいのかな?
857デフォルトの名無しさん (ワッチョイ 7bf7-r64g)
2019/11/26(火) 22:41:27.30ID:nfr+llLM0 >>856
| はRegExp使わないとムリだね
| はRegExp使わないとムリだね
858デフォルトの名無しさん (ワッチョイ 8139-QS5Z)
2019/11/26(火) 22:46:43.63ID:+5U3MHb30 確かにただ | を使っただけでは反応しませんね
とりあえずOrいっぱい使って直します、ありがとうございました
とりあえずOrいっぱい使って直します、ありがとうございました
859デフォルトの名無しさん (アークセー Sxc5-dWLu)
2019/11/26(火) 22:50:11.95ID:DKfMBfAux TestメソッドがTrueを返してきたら処理するって形にすればいい
860デフォルトの名無しさん (ワッチョイ 117c-+Oop)
2019/11/26(火) 22:55:07.89ID:DNirBk9p0 >>856
いちいち聞く前に試した方が早いよ
いちいち聞く前に試した方が早いよ
861デフォルトの名無しさん (アウアウウー Sa9d-oGMk)
2019/11/27(水) 06:59:40.83ID:HXLhDNyDa 質問スレなんだから構わないだろ
気に入らないなら無視しとけアホ
気に入らないなら無視しとけアホ
862デフォルトの名無しさん (アウアウクー MM45-PQyj)
2019/11/27(水) 15:37:51.09ID:YOYInDtKM 他人が作ったマクロなんて読みづらいに決まってんじゃん…
今更グダグダ言ってもあとの祭りさ。
今更グダグダ言ってもあとの祭りさ。
863デフォルトの名無しさん (ワッチョイ 530e-iHas)
2019/11/27(水) 15:57:59.39ID:75s4sS5d0 自分が作ったマクロもだぞ
数年前どころか一ヶ月もするとわからなくて四苦八苦することがある
数年前どころか一ヶ月もするとわからなくて四苦八苦することがある
864デフォルトの名無しさん (ワッチョイ 7b02-Ghh+)
2019/11/27(水) 16:57:52.22ID:aKqeYuzt0 過去のソースは別人が書いたと思って
865デフォルトの名無しさん (アウアウエー Sae3-X/je)
2019/11/27(水) 18:34:34.70ID:Cbbx0Ne3a コードよりメモの方が長い
866デフォルトの名無しさん (ドコグロ MM63-hZ32)
2019/11/27(水) 19:32:47.73ID:/ZvfNNOFM 1週間後の自分は既に他人
867デフォルトの名無しさん (ワッチョイ 81ce-/L9V)
2019/11/27(水) 19:44:22.70ID:zplzdTf80 プログラミングの実習で教授が言ってたわ
明日の自分は他人だから、いつでも他人が見てもわかるように書けって
明日の自分は他人だから、いつでも他人が見てもわかるように書けって
868デフォルトの名無しさん (アウアウウー Sa9d-rqK9)
2019/11/27(水) 19:53:39.35ID:stsrz9x1a 昨日のことも覚えてない
>>868
昨日の昼飯がなにか?なんて思い出せなくなりました…
昨日の昼飯がなにか?なんて思い出せなくなりました…
870デフォルトの名無しさん (ワッチョイ 69f1-hgyP)
2019/11/27(水) 20:35:10.07ID:fWLksagp0 >>870
ビタミン剤をしこたま飲んでるんですけど、やっぱりだめですかね…
ビタミン剤をしこたま飲んでるんですけど、やっぱりだめですかね…
872デフォルトの名無しさん (ワッチョイ 1301-7uad)
2019/11/27(水) 20:47:12.82ID:Bgz7f5eR0 >>867
集中してるとそこまで対処してるか!みたいなのが書ける時があって
後から見てなんでこんなのあるんだ?って思うことがある
同じことやろうと思っても出来なかったり
だから自分に対してのコメント必須だわ
集中してるとそこまで対処してるか!みたいなのが書ける時があって
後から見てなんでこんなのあるんだ?って思うことがある
同じことやろうと思っても出来なかったり
だから自分に対してのコメント必須だわ
873デフォルトの名無しさん (ワッチョイ 69d0-BEIG)
2019/11/27(水) 21:24:50.75ID:RNITUjXe0 昨日の自分は今日の敵
今日の自分は明日の(自分にとっての)敵
今日の自分は明日の(自分にとっての)敵
874デフォルトの名無しさん (ワッチョイ c1da-pyDD)
2019/11/27(水) 21:25:04.01ID:Htaq5k6U0875デフォルトの名無しさん (ワッチョイ b1f1-uW/g)
2019/11/28(木) 00:11:11.99ID:SmApZ4N10 VBAでChromeのタブブラウザを思い通りに操作することってできます?
IEのタブブラウザも思い通りに操作する方法も知りたいけど。
IEのタブブラウザも思い通りに操作する方法も知りたいけど。
876デフォルトの名無しさん (ワッチョイ 9279-luhV)
2019/11/28(木) 01:30:16.44ID:65DPFBPU0 Seleniumでもタブ操作は無理だから無理なんじゃねーの
877デフォルトの名無しさん (ワッチョイ 922c-Ql8R)
2019/11/28(木) 01:58:43.77ID:WsOSEkue0 Ruby で、Selenium Webdriver を使っているけど、タブ移動は出来る!
url_0 = "URL 0"
url_1 = "URL 1"
driver.navigate.to url_0 # url_0 を開く
driver.execute_script( "window.open()" ) # 新しいタブを開く
driver.switch_to.window( driver.window_handles.last ) # 新しいタブへ移動する
driver.navigate.to url_1 # url_1 を開く
all_handles = driver.window_handles # すべてのタブ
driver.switch_to.window( all_handles[ 0 ] ) # url_0 へ移動する
url_0 = "URL 0"
url_1 = "URL 1"
driver.navigate.to url_0 # url_0 を開く
driver.execute_script( "window.open()" ) # 新しいタブを開く
driver.switch_to.window( driver.window_handles.last ) # 新しいタブへ移動する
driver.navigate.to url_1 # url_1 を開く
all_handles = driver.window_handles # すべてのタブ
driver.switch_to.window( all_handles[ 0 ] ) # url_0 へ移動する
878877 (ワッチョイ 922c-Ql8R)
2019/11/28(木) 02:00:57.37ID:WsOSEkue0 driver.execute_script( "window.open()" ) # 新しいタブを開く
driver.execute_script で、JavaScript のソースコードを書ける
driver.execute_script で、JavaScript のソースコードを書ける
879デフォルトの名無しさん (スッップ Sdb2-iiDQ)
2019/11/29(金) 13:28:48.35ID:o1brOXQcd >>874
以前の挙動ってセル罫線は見えるけどセル自体は透過して、下への入力が出来るというものだった記憶があるんだけど、そういう動作を望んでるってことだよね。
単純にセル範囲全体、もしくは部分を完全透過するって意味じゃ無いよね。
セル範囲、もしくは部分を完全透過して下へ入力出来るっていうのなら簡単に実現出来ると思う。
試して無いけど。
以前の挙動ってセル罫線は見えるけどセル自体は透過して、下への入力が出来るというものだった記憶があるんだけど、そういう動作を望んでるってことだよね。
単純にセル範囲全体、もしくは部分を完全透過するって意味じゃ無いよね。
セル範囲、もしくは部分を完全透過して下へ入力出来るっていうのなら簡単に実現出来ると思う。
試して無いけど。
880デフォルトの名無しさん (ワッチョイ adda-WKXI)
2019/11/29(金) 19:37:43.44ID:Y7Z9cnLQ0881デフォルトの名無しさん (スッップ Sdb2-iiDQ)
2019/11/29(金) 21:00:27.22ID:o1brOXQcd >>880
SetLayeredWindowAttributesは多分無理だと思う。
使ったことないけどUpdateLayeredWindowも同じかな?
この種のAPIは諦めて、リージョン使ってウィンドウの形状をくり抜いた形に変形する方法を使って出来たけど、色指定とかも出来ないし、くり抜いた部分は問答無用で透過する。
当然、罫線も透過する。
それからブックのウィンドウを移動すると元に戻る。
こっちはサブクラスでどうにか出来なかったかな。
くり抜く部分は右端列、下端行の見切れる所を正確に取得するのが面倒くさい。
指定セル範囲なら簡単なんだけど。
SetLayeredWindowAttributesは多分無理だと思う。
使ったことないけどUpdateLayeredWindowも同じかな?
この種のAPIは諦めて、リージョン使ってウィンドウの形状をくり抜いた形に変形する方法を使って出来たけど、色指定とかも出来ないし、くり抜いた部分は問答無用で透過する。
当然、罫線も透過する。
それからブックのウィンドウを移動すると元に戻る。
こっちはサブクラスでどうにか出来なかったかな。
くり抜く部分は右端列、下端行の見切れる所を正確に取得するのが面倒くさい。
指定セル範囲なら簡単なんだけど。
882デフォルトの名無しさん (スッップ Sdb2-iiDQ)
2019/11/29(金) 21:05:43.61ID:o1brOXQcd 元々、無理矢理やろうとしてたのは半透明にしてその描画をメモリに取得してから完全透明にして、デスクトップに取得した描画を書き込むことを考えたけど、再描画で無茶苦茶チラつきそうで断念した。
883デフォルトの名無しさん (ワッチョイ 8101-MhVQ)
2019/11/29(金) 21:42:27.36ID:fEFTOoHB0 北海道のハゲはここにこないのー?
884デフォルトの名無しさん (スッップ Sdb2-iiDQ)
2019/11/29(金) 23:10:37.96ID:o1brOXQcd ググレばサンプルや答えが見つかるとか言ってた奴がいたけど、ググってどうにかなるようなレベルの低いものは、問題にすらならないわけでね。
わざわざ覚えるようなことをしてないだけでググレば答えが見つかるのが分かってるんだよ。
一方、問題になるようなレベルの高いものはググっても答えが見つかることは殆ど無いわけだ。
わざわざ覚えるようなことをしてないだけでググレば答えが見つかるのが分かってるんだよ。
一方、問題になるようなレベルの高いものはググっても答えが見つかることは殆ど無いわけだ。
885デフォルトの名無しさん (ワッチョイ 655f-abYQ)
2019/11/30(土) 16:10:24.85ID:gvdsBQuZ0 最近独学ではじめたんだがググっても出ないから質問させてくれ
if の条件式をセルから読み取ることできない?
例えば
セルA1に1+1=2って入力してあって
VBAで
if cells(1,1).value then
end if
的なことを実行したいんだが・・・
if の条件式をセルから読み取ることできない?
例えば
セルA1に1+1=2って入力してあって
VBAで
if cells(1,1).value then
end if
的なことを実行したいんだが・・・
886デフォルトの名無しさん (ワッチョイ adda-WKXI)
2019/11/30(土) 16:18:47.86ID:zymER4tP0 イミワカラン。
=1+1=2ならまだわかるが。
=1+1=2ならまだわかるが。
887デフォルトの名無しさん (ワッチョイ b1f1-uW/g)
2019/11/30(土) 16:26:59.80ID:PE5ncLuo0 セルA2には1+1=3って入力してあるんです
888デフォルトの名無しさん (ブーイモ MMa6-xiND)
2019/11/30(土) 16:42:55.04ID:CChXYwU6M if Application.Evaluate(cells(1,1).value) then
end if
は?
end if
は?
889デフォルトの名無しさん (ワッチョイ 655f-abYQ)
2019/11/30(土) 17:14:03.21ID:gvdsBQuZ0890デフォルトの名無しさん (ワッチョイ 0dce-3RYV)
2019/11/30(土) 18:09:08.07ID:5XJ0vNla0891デフォルトの名無しさん (ワッチョイ b57c-EcXK)
2019/11/30(土) 18:17:54.58ID:c6PsAIQc0 >>885
そのコードで読み取れるが、=1+1=2と入れてるなら常にTrueにしかならないと思うぞ
そのコードで読み取れるが、=1+1=2と入れてるなら常にTrueにしかならないと思うぞ
892デフォルトの名無しさん (ワッチョイ f602-FWG3)
2019/11/30(土) 18:52:44.66ID:Vhhj6JxE0 コードで条件指定するんじゃなくて
セルに条件書いてそれで判定したいって事だよね
セルに条件書いてそれで判定したいって事だよね
893デフォルトの名無しさん (ワッチョイ 655f-abYQ)
2019/11/30(土) 18:58:56.97ID:gvdsBQuZ0894デフォルトの名無しさん (スプッッ Sd12-abYQ)
2019/11/30(土) 19:00:48.42ID:vHVqnqrEd 文字列(1+2)*3を計算して数値にしてくれる方法ないかね
895デフォルトの名無しさん (ワッチョイ b57c-EcXK)
2019/11/30(土) 19:15:08.08ID:c6PsAIQc0 >>894
試してないけどevaluateで出来るんじゃないか?
試してないけどevaluateで出来るんじゃないか?
896デフォルトの名無しさん (ワッチョイ 0dce-3RYV)
2019/11/30(土) 19:34:42.91ID:5XJ0vNla0 セルに数式として入れる
897デフォルトの名無しさん (エムゾネ FFb2-b5WD)
2019/11/30(土) 21:28:15.08ID:lXL2/s51F Cells(1,1).Textでは数式読み取れなかったっけ
898デフォルトの名無しさん (ワッチョイ adda-3RYV)
2019/11/30(土) 21:30:46.92ID:4jVQowz00 >>894
そのくらい暗算すればいいじゃん
そのくらい暗算すればいいじゃん
899デフォルトの名無しさん (ワッチョイ b57c-EcXK)
2019/11/30(土) 21:37:32.50ID:c6PsAIQc0 >>897
表示されてるものを表示形式通りに取得するやつ
表示されてるものを表示形式通りに取得するやつ
900デフォルトの名無しさん (ワッチョイ adda-3RYV)
2019/11/30(土) 21:54:44.62ID:4jVQowz00 Range("A1").Formula = "=(1+2)*3"
901デフォルトの名無しさん (ワッチョイ 0920-tQqL)
2019/12/01(日) 01:14:32.95ID:hVa/XxLC0 転記マクロを作っていて、AのブックからBのブックに転記をしようと考えているのですが
Aの転記する部分を一旦構造体に全部取り込んでしまってからBブックを開いて転記する方法と
AとBのブックをその都度比較して転記するかで悩んでいます
どっちの方がいいんでしょうか?
Aの転記する部分を一旦構造体に全部取り込んでしまってからBブックを開いて転記する方法と
AとBのブックをその都度比較して転記するかで悩んでいます
どっちの方がいいんでしょうか?
902デフォルトの名無しさん (ブーイモ MMd5-EEfp)
2019/12/01(日) 01:25:45.07ID:xsf905SiM 前者でいいよ。
903デフォルトの名無しさん (ワッチョイ a901-SL5O)
2019/12/01(日) 01:32:52.78ID:Mv7XM2680 オブジェ.pastespecial(xlpaste〇〇)
オブジェ.pastespecial paste := xlpaste〇〇
これ何が違うの?
前者は戻り値はカッコをつけるっていうルールに従ってなくね?
オブジェ.pastespecial paste := xlpaste〇〇
これ何が違うの?
前者は戻り値はカッコをつけるっていうルールに従ってなくね?
904デフォルトの名無しさん (アークセー Sx79-CWam)
2019/12/01(日) 06:15:52.01ID:qadFHjVDx >>903
前者はメソッドが返す戻り値を取得するために関数としてメソッドを使用している
文法上、引数指定の箇所で括弧が必要
後者はメソッドをコールしてそのまま次の処理に制御を渡している
引数指定の箇所には文法上括弧が不要
前者はメソッドが返す戻り値を取得するために関数としてメソッドを使用している
文法上、引数指定の箇所で括弧が必要
後者はメソッドをコールしてそのまま次の処理に制御を渡している
引数指定の箇所には文法上括弧が不要
905デフォルトの名無しさん (ワッチョイ a901-SL5O)
2019/12/01(日) 06:39:57.40ID:Mv7XM2680906デフォルトの名無しさん (ワッチョイ a901-SL5O)
2019/12/01(日) 06:49:15.69ID:Mv7XM2680 pastespecial xlpaste〇〇
これでも行けた…
pastespecialメゾットの戻り値ってなんだ?
x = オブジェ.pastespecial(xlpaste〇〇)
こんなの使うときあるの?
pastespecialの戻り値を使う意味が全くわからない
If MsgBox("実行しますか?", vbYesNo) = vbNo Then
これは戻り値がTRUEかfalseだから意味がわかるけど
これでも行けた…
pastespecialメゾットの戻り値ってなんだ?
x = オブジェ.pastespecial(xlpaste〇〇)
こんなの使うときあるの?
pastespecialの戻り値を使う意味が全くわからない
If MsgBox("実行しますか?", vbYesNo) = vbNo Then
これは戻り値がTRUEかfalseだから意味がわかるけど
907デフォルトの名無しさん (ワッチョイ f668-3RYV)
2019/12/01(日) 07:55:36.72ID:lg6qJlYj0 >>903
オブジェ→オブジェクト
Selection.PasteSpecial Paste:=xlPasteValues
Selection.PasteSpecial(xlPasteValues)
そういう文法。
前者のメリットは指定できる引数が大量にある時、一つだけ記述することができる上に見やすい
ただ、「:=」のコロンを見落としやすいのがネック
引数が一つだけの時は前者で書く理由はないと思う
>>905
メゾット→メソッド
メソッド=クラス内関数
ただ、vbaなんて全部applicationクラス(と思う)から、関数は全てメソッドに当たりそう
pastespecialはメソッドで間違いない
>>906
>こんなの使うときあるの?
>pastespecialの戻り値を使う意味が全くわからない
そもそも使わないから返り値なんてなんでも良い
俺も使った事無いけど、あえて返すとすればペーストの失敗か成功なのは間違いないだろう
オブジェ→オブジェクト
Selection.PasteSpecial Paste:=xlPasteValues
Selection.PasteSpecial(xlPasteValues)
そういう文法。
前者のメリットは指定できる引数が大量にある時、一つだけ記述することができる上に見やすい
ただ、「:=」のコロンを見落としやすいのがネック
引数が一つだけの時は前者で書く理由はないと思う
>>905
メゾット→メソッド
メソッド=クラス内関数
ただ、vbaなんて全部applicationクラス(と思う)から、関数は全てメソッドに当たりそう
pastespecialはメソッドで間違いない
>>906
>こんなの使うときあるの?
>pastespecialの戻り値を使う意味が全くわからない
そもそも使わないから返り値なんてなんでも良い
俺も使った事無いけど、あえて返すとすればペーストの失敗か成功なのは間違いないだろう
908デフォルトの名無しさん (アークセー Sx79-CWam)
2019/12/01(日) 08:06:02.34ID:qadFHjVDx >>905
メゾットではなくメソッド(Method)ね
PasteSpecialはメソッドだよ
関数の定義は曖昧だが、ここでは制御と戻り値を返す命令文の意味で使っている
一方メソッドはオブジェクト外からアクセス可能になるようメンバとして実装された機能プログラムのことを指す
戻り値を返すものと返さないものの両方がある
メゾットではなくメソッド(Method)ね
PasteSpecialはメソッドだよ
関数の定義は曖昧だが、ここでは制御と戻り値を返す命令文の意味で使っている
一方メソッドはオブジェクト外からアクセス可能になるようメンバとして実装された機能プログラムのことを指す
戻り値を返すものと返さないものの両方がある
909デフォルトの名無しさん (ワッチョイ a901-SL5O)
2019/12/01(日) 08:12:27.61ID:Mv7XM2680910デフォルトの名無しさん (アークセー Sx79-CWam)
2019/12/01(日) 08:14:33.55ID:qadFHjVDx >>907
細かい話だが、VB6共通の標準関数やステートメント類、列挙定数はApplicationクラス配下のメンバではないはず
あと調べていけばApplicationクラスから独立しているクラスもあるかもしれない
プログラム本体をコードする言語ではなくマクロ言語なのでApplicationというカレントなインスタンスに依存しないクラスがあってもおかしくない
細かい話だが、VB6共通の標準関数やステートメント類、列挙定数はApplicationクラス配下のメンバではないはず
あと調べていけばApplicationクラスから独立しているクラスもあるかもしれない
プログラム本体をコードする言語ではなくマクロ言語なのでApplicationというカレントなインスタンスに依存しないクラスがあってもおかしくない
911デフォルトの名無しさん (ワッチョイ a901-SL5O)
2019/12/01(日) 08:17:59.92ID:Mv7XM2680 初心者にメンバとかクラス外とか言われてもわからん
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【おこめ】「有能だったんじゃ」おこめ券で批判殺到の鈴木農水大臣…ネットでは前任の“進次郎再評価” ★2 [ぐれ★]
- 「暖房が使えない」「食費が高くて子どもの栄養が…」 物価高に苦しむ子育て世帯、政府に期待する支援は ★2 [蚤の市★]
- オイルマッサージ施術中20代女性にわいせつ行為か セラピストの男(30)を再逮捕 余罪複数とみて警視庁が捜査 [どどん★]
- 内閣支持、微減59.9% 5割超が補正予算評価 時事通信世論調査 [どどん★]
- 【中国外務省】日本への渡航自粛を再度呼びかけ 今度は「地震発生」を理由に [ぐれ★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず★3 [七波羅探題★]
- 高市内閣の支持率、下落wwwwwwwwwww [834922174]
- お前ら嫁や彼女にセックス中にどんな声がけしてる? [369521721]
- Vtuber「人気アニメとコラボします!」←これでVが叩かれるの謎じゃね
- Xでフォローしてきた人をフォロバして相手のフォロー解除するのが趣味なんだが
- あー…女児のつるつるまんまん舐め回してえなあ…
- 愛国者「徴兵されるのは嫌。でも敵が侵略してきたら考えます」 [834922174]
