【VBA】like演算子
こんにちは
引越しのを終えてネット回線が繋がるまでSoftBank光で対応してますが、これは遅いw
彼女とのビデオチャットもできやしないorz
Like演算子とは
今までIf文やWhile文で条件を設定すると、条件に完全に一致しないとTrueになりませんんでした。Like演算子を使用することでもっと条件を緩めることができます。
If 条件 Like ”*ブログ” Then
のように使用します
一致の種類 | パターン | 一致例 | 一致なし | 解説 |
---|---|---|---|---|
複数の文字 | a*a | abca,a12a | abc | *の所には複数の文字や数字、記号を代入することができます。 |
*a* | bac,1a2 | abc | 上と同様に前後でも文字を代入できます | |
特殊文字 | a[*]a | a*a | aaa | この場合は*しか代入されません |
1つの文字 | a?a | aaa,a1a | abcd | この?には1文字しか代入されません |
1つの数字 | a#a | a1a,a0a | aaa | この#には数字1文字しか代入されません |
文字の範囲 | [a-z] | a,b,z | 1,2 | ここにはa~zが入ります |
範囲外 | [!a-z] | 9,$,% | a,b,c | a~z以外の文字が入ります |
非数字 | [!0-9] | a,b,c | 1,2,9 | 数字以外の文字が入ります |
今回はここで切らせていただきます。
明日は使用例を書けたらなぁと
【リベンジ】Seleniumで生放送の累計来場者数を増やす
こんにちは
今回は前回のリベンジです。
色々と試行錯誤してようやくできましたので見ていってくださいw
プログラム
開いているIEのURLを取得してそのページをFor文の回数繰り返すといったものです。
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Sub selenium_test1() driver.stop Sleep 5000 |
Public Sub selenium_test1() のところを見ていきます。
1行目:selenium_test1の開始
2行目:SeleniumWrapper.WebDriverのオブジェクトとしてdriver を宣言
4行目:開いているIEを取得
5行目:なし
6行目:For文で処理を10回繰り返す
8行目:7行目のURLを開く
9行目:Chromeを閉じる
10行目:5秒間スリープ
11行目:変数iを返す
12行目:プロシージャの終了
実際の効果は
こんな感じですね
1回やるのに5秒+開くまでの待機時間が必要ですが、自動化できるという点ではいいものかと。
ちなみに3秒待機で実行してみたところ、累計来場者数は増えたり増えなかったりと安定しませんでした。なぜ?
やっとやりたかったことができて少しすっきりしました。
明日は土曜日ですが、引越しと仕事があるため更新できなかったらごめんなさい
【VBA】Seleniumのインストール
こんにちは
前回の失敗の原因はまずブラウザがIEでは使用できないというところですね。
そこでIE以外のブラウザを使用してみましょう。
探した結果Seleniumというものがあるそうです。
Seleniumってなに?
ブラウザでのテストを自動化するツールらしいです。
どこに行ってもこんな回答しかなかったw
これを使うことでChromeやFirefoxを操作することができるようです。
このSeleniumをVBAでできるようにしたものをSeleniumVBAと呼ぶようです。
Seleniumのインストール
1.まずSeleniumをインストールしましょう。
2.最新のバージョンをダウンロードする
3.保存されたファイルをインストールする
4.VBEの参照設定で[SeleniumWrapper Type Library]が追加されていることを確認する
問題無ければチェックして[OK]をクリック
Seleniumのインストールは以上です。
次にchromedriverをダウンロード
VBAでChromeを扱えるようにするためにドライバーをインストールしましょう。
1ドライバをダウンロードする
下のサイトに移動します。
赤枠で囲ったところをクリック
クリックすると似たようなページが出ますが、ここでも赤枠をクリック
このページでchromedriver_win32.zipをダウンロードします。
OSごとにあったものを選んでください。
ダウンロードしたファイルを解凍して先ほどSeleniumWrapperをインストールしたフォルダに移動します。
デフォルトはC:\Program Files (x86)\SeleniumWrapperなのかな?
インストールは以上で終了です。
ここから先は自分も勉強しながら行います。
もし間違っていたら指摘していただけるとありがたいです。
【失敗】動画配信サイトの閲覧者数を上げる
こんにちは
今回は生放送サイトの累計閲覧者数を上げる方法を考えてみました。
ちなみにこの方法は失敗したため別の方法を考える必要がありますw
生放送サイトの累計来場者数を上げるには
そもそもの問題ですよね。
累計来場者数は基本的に配信画面が開かれた回数ですね。
なので生放送のサイトを何度か更新をすることで累計来場者数は増えると予想されます。
累計来場者数が増えることで、ほかの人の目に留まりやすくなります。
どうしたらよいのか
これは機能お話しした.Refreshを使用します。
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Dim i As Long End Sub |
今まで説明した内容を組み合わせただけなので今回は説明を省きます。
内容的には今開いているIEのページを10回更新する処理です。
実際にやってみた
じゃあニコ生は・・・
うん、出鼻をくじかれてしまった・・・
どうするかまた考えます
【VBA】IEの更新や戻るボタンの処理
こんにちは
今回はIEの更新や戻るボタンについて調べました。
調べてみた結果プロパティひとつで簡単に処理できるようで
意外とあっさりでした。
IEの更新
InternetExplorerオブジェクト.Refresh
これだけですね。
更新する場合はこの後にページが開き終わるまで待つ必要があります。
戻るボタン
InternetExplorerオブジェクト.GoBack
戻るのもこれだけで済みますね。
これもページを開き終わるまで待つ必要がありますね。
URLの取得
InternetExplorerオブジェクト.LocationURL
もしくは
InternetExplorerオブジェクト.document.URL
で取得できるようです。
今回も短いですがこの辺で
【VBA】水平揃え垂直揃え
こんにちは
涼しくなってきましたね。
今日は水平揃えと垂直揃えのお話です。
使うことはあまり無いんじゃないかな・・・
とはいえまとめさせていただきますよ。
水平揃え
水平はHorizontalAlignmentプロパティを使用します。
Horizontalは水平な、Alignmentは直線にするという意味です。
つまり水平に揃えるという意味ですかね。
Range("A:A").HorizontalAlignment = xlGeneral
このような形で使用します。
値 | 効果 |
---|---|
xlGeneral | 標準(デフォルトの状態) |
xlLeft | 左揃え |
xlCenter | 中央ぞろえ |
xlRight | 右揃え |
垂直揃え
では垂直揃えも見ていきましょう。
垂直はVerticalAlignmentプロパティを使用します。
Verticalは垂直のという意味ですね。
水平揃え同様
Range("A:A").VerticalAlignment = xlTop
と使用します。
値 | 効果 |
---|---|
xlTop | 上揃え |
xlCenter | 中央揃え |
xlBottom | 下揃え |
あらかじめセルに設定しておけば使うことはほぼ無いと思うのですが、水平揃え・垂直揃えの説明でした。
【VBA】フォントプロパティでフォントを操作する
こんにちは
今回はフォントを操作してみましょう。
フォントプロパティを使えばフォントの色や大きさ、太文字など様々な操作が行えます。
よく使うもの
フォントの色変更
フォントの色はインデックス番号で指定する方法、RGBで指定する方法、16進数で指定する方法があります。
インデックス番号は以下のとおりです。
1~56まであるそうです。
.Font.ColorIndex=1のように使用します。
次にRGBを使用して指定します。
.Font.ColorIndex=RGB(赤の数値,緑の数値,青の数値)のように使用します。
[その他の色]から[色の設定]の[色の設定]を開きRGBの値を確認することができます。
最後に16進数で表す方法ですが、自分はあまり使いませんね。
.Font.Color = &HFFFFFF のように使うらしいのですが詳しくないため省略とさせてください。
フォントの設定変更
基本的にTrue/Falseで有効/無効を切り替えます
フォントの太文字の変更
Range("A1").Font.Bold = True
Range("A1").Font.Bold = False
斜体の変更
Range("A1").Font.Italic = True
Range("A1").Font.Italic = False
取り消し線の変更
Range("A1").Font.Strikethrough = True
Range("A1").Font.Strikethrough = False
下線の変更
Range("A1").Font.Underline = True
Range("A1").Font.Underline = False