Google の検索枠に文字を入力すると、↓のように検索キーワードの候補が表示されますが、これはGoogle サジェストという機能によって提供されています。
この機能は、Google Suggest API として一般に公開されているので手軽に利用できます。今回は、VBAでGoogle Suggest API のキーワード候補をA to Zで取得するループ文を組んでみます。
一旦、シート内のデータをクリアするので、作業中のブックでは実行しないように注意してください。
Google の検索枠に文字を入力すると、↓のように検索キーワードの候補が表示されますが、これはGoogle サジェストという機能によって提供されています。
この機能は、Google Suggest API として一般に公開されているので手軽に利用できます。今回は、VBAでGoogle Suggest API のキーワード候補をA to Zで取得するループ文を組んでみます。
一旦、シート内のデータをクリアするので、作業中のブックでは実行しないように注意してください。
Option Explicit
' ログイン名取得API '
Private Declare Function GetUserName Lib "ADVAPI32.dll" _
Alias "GetUserNameA" _
(ByVal IpBuffer As String, nSize As Long) As Long
' ログイン名を取得する '
Public Function GetUserID()
Dim UserName As String
Dim ReturnAPI As Long
UserName = Space(20)
ReturnAPI = GetUserName(UserName, Len(UserName))
GetUserID = Left(UserName, InStr(1, UserName, Chr(0)) - 1)
End Function
' 取得したユーザー名をメッセージボックスに表示 '
Sub GetUserSample()
MsgBox GetUserID()
End Sub
まず、GetUserName関数(API)のための宣言を行います。
次に、Functionプロシージャですが、最初にSpace関数でユーザー名を格納するためのバッファを20文字分確保します。取得したユーザー名の末には余分なNullが挿入されるので、Left関数でNullより左側を実際のユーザー名として抜き出しています。なお、"Chr(0)"はNullの意なので、"vbNullChar"としてもOKです。
最後にSubプロシージャのサンプルを付けていますが、ワークシート上でも、"=GetUserID()"とすればユーザー名を引くことができます。
Option Explicit
Private Declare Sub Sleep Lib "KERNEL32.dll" _
(ByVal dwMilliseconds As Long)
Sub SleepSample()
' 2秒間処理を停止する場合 '
Sleep 1000 * 2
End Sub
ポイントはスリープ関数(API)の宣言を行うことと、処理を停止する時間をミリ秒単位で指定することの二点です。
1000ミリ秒=1秒なので、例では "1000 * 停止したい秒数" としていますが、直接"Sleep 2000" と指定しても全く問題ありません。
仕事で調べたExcelに関するメモを残しています。利用バージョンは、Microsoft Office Excel 2003です。
少しでも役に立つ情報があれば幸いですが、ページ上のサンプルコードを使用したことによって生じた不利益については、一切の責を負いかねますのでご了承ください。なお、図らずも正しくない内容や効率的ではないコードが多々あると思いますが、ご容赦ください。
ソースコードのハイライトライブラリとしてgoogle-code-prettifyを、画像表示用のライブラリとしてSlimbox 2, the ultimate lightweight Lightbox clone for jQuery · digitalia.beを使っています。