メモ

主にプログラミング系の備忘録

VBA

TripAdviserの一覧からスポット情報をスクレイピング

VBA

先に記載した関数で取得したURLから、個々のスポット情報を取得 Public Function getSpotList(sUrl As String) As Variant Dim ie As InternetExplorer: Set ie = New InternetExplorer Dim sRet As String Dim dom As HTMLDocument Dim el As IHTMLElement …

TripAdviserのスポット一覧のURLを取得

VBA

GoogleでKeyWordを+でつなぐ+「site:www.tripadvisor.jp」で検索 →検索結果タイトル&本文にKeyWordsが含まれるもののリンク先URLを取得 Hitするものが存在しなかった場合は空文字を返す KeyWords はスポット名 + 地域名(市区町村あたり) + ジャンル(観光/グ…

おまけ、テスト用のデータとして、青空文庫のHTMLから見出し/ルビ/注釈を除去したテキストを取得

VBA

Public Function getAozora(ByVal sUrl As String) As String Dim ie As InternetExplorer: Set ie = New InternetExplorer: ie.navigate sUrl: Call ieCheck(ie) Dim dom As HTMLDocument: Set dom = ie.document Dim sTitle As String: Dim sAuthor As Str…

Yahoo!Japanのテキスト解析APIを使ってみた

VBA

Yahoo!Japan デベロッパーネットワークトップ > テキスト解析 > キーフレーズ抽出 https://developer.yahoo.co.jp/webapi/jlp/keyphrase/v1/extract.html Const APIKEY_Y As String = "取得したAPIキー" Public Function getKeyWords(ByVal str As String) A…

パワポのテキストをExcelに書き出す

Const sFileName as String ="パワポファイルをフルパスで" Sub Export_PPT() Dim pptApp As PowerPoint.Application: Set pptApp = New PowerPoint.Application Dim pptFile As PowerPoint.Presentation Dim dStartTime As Date: dStartTime = Now() Set pp…

A3RTのText Classification をやってみた

VBA

https://a3rt.recruit-tech.co.jp/product/textClassificationAPI/ リファレンスなどはこちら https://github.com/VBA-tools/VBA-Dictionary JSONの操作で使用 http://blog.goo.ne.jp/xmldtp/e/c7e3c3631d31206f818b30276d0f3091 リクエスト投げるところはこ…

パスワード付のzipファイルを解凍する関数

VBA

5/31 追記 自宅環境だとcmdでunzipコマンドが通らない。 どうしたらunzipをcmdで使えるようになるのか調査中。 http://www.info-zip.org/ にあるものを適切にインストールすればよいらしいが引き続き調査中 Public Function unzip(sFileName As String, sPwd…

アップロード画面への遷移まで

17/05/26追記:Googleへのログインのインターフェースが変わったので現在機能しません。 17/05/31追記:よくわからないClassNameでログインアカウントを選択してよいなら改修できそうな気がする なお、引っ掛かるのは「(4)ログインアカウントの選択」の工程 ク…

3末でoffなので春スキー検討中。そんなわけで春スキーでも営業しているスキー場の情報をsnow&surfさんからgetしてみた

Public Sub getSnowSurf() Dim ie As InternetExplorer: Set ie = New InternetExplorer: ie.navigate "https://snow.gnavi.co.jp/close/": Call ieCheck(ie) Dim dom As HTMLDocument: Set dom = ie.document Dim el As IHTMLElement Dim ws As Worksheet: …

動画設定情報を取得するプログラム

YouTube APIのlist処理でとろうとしてたが、一部取れない項目があるらしいので力技で。 設定画面に遷移して情報を取得するので、動画の所有者以外はたぶん無理。 Public Sub getSettingVideo(sId As String) Dim ie As InternetExplorer Dim dom As HTMLDocu…

受信トレイ内のメール一覧をExcelに出力

フォルダ指定のところとかもうちょっとやりようがありそう。 というか、Outlookの環境設定次第でいろいろ変わりそう。追記:Exchangeユーザのメールアドレス取得がうまくできなかったので http://www.gregthatcher.com/Scripts/VBA/Outlook/GetSmtpAddress.as…

投稿動画一覧から動画URI・サムネイルURI・タイトルを持ってくる

もう1か所参考にしたサイトがあったんだけど、ちょっと失念。 思い出したら追記する。テーブルはT_YouTube 項目は以下3フィールド サムネイル画像 URI タイトル以下、標準モジュールに記述 'http://www.vba-ie.net/qanda/qanda.cgi?mode=viewthread&id=112 O…

テキスト広告まわりの事前チェック関数

・使用不可文字が使われていた場合、その文字を返す関数 Case文のところは使用可能な文字リストと照らし合して都度メンテが必要かと Public Function chk_adn(str As String) As String On Error GoTo Err_Trap Dim i As Long Dim c As String Dim buf As St…

ユーザIDからユーザ名などを取得する関数

現在のtwitterの仕様で機能する関数 仕様が変わったら動かなくなるはず。 Attribute VB_Name = "f_getTwitterStats" #If VBA7 Then Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr) #Else Private Declare Sub Sleep Lib "kernel32…

Excel入力シートをガッツリAccessに取込

極力汎用的な作りに Option Compare Database Const sDataSheetName As String = "sheet1" 'データ取得シート名 Const sDataSheetRow As Long = 2 'データ取得行 Const sTableName As String = "T_Test" 'データ格納先テーブル名 '個々のExcel入力シートを取…

画像まわり

VBA

'なんか汎用化ニーズがありそうなので '指定したファイルの容量を返す関数 'usage ' double ファイル容量 = getFileSize(【ファイル名(フルパス)】,【[オプション]単位】) '単位について:デフォルト→キロバイト "b"→バイト "M"→メガバイト "G"→ギガバイト '…

コピペ禁止を別アプローチで

Worksheet_Changeイベントで変更後の値を別変数にいったん退避 →セル自体はUndoで変更前に戻した後に 値だけ変更後のものに入れる コピー元が複数セルだったりコピー先が結合されている場合 想定通りの動作にはならないので要検討 Private Sub Worksheet_Cha…

モジュール一括出力

調子に乗ってもう1個。 もうちょっと深堀できるようにしたいところ。 Private Declare Sub keybd_event _ Lib "user32" ( _ ByVal bVk As Byte _ , ByVal bScan As Byte _ , ByVal dwFlags As Long _ , ByVal dwExtraInfo As Long) Public Function DumpVBMo…

クエリのSQLを一括出力する関数

テーブル定義と同じ要領で。 パラメータに関する調査をするところで、クエリ自体に不備が ある場合はエラーが出ますが、その情報も出力しています。 (お掃除が苦手な方向け) Public Function DumpQueryDef(sDBFileName As String) As Boolean Dim db As DAO.…

テーブル定義を作成する関数

昨日の続き。 引数でDBファイルを指定し、そのDBに関するテーブル定義を作成するようにしました。 Public Function DumpTableDef(sDBFileName As String) As Boolean On Error GoTo Trap Dim db As DAO.Database Dim tdf As DAO.TableDef Dim fld As DAO.Fie…

Accessで使えるWorkDay関数

たぶん出典元はここ。 http://www.h3.dion.ne.jp/~sakatsu/holiday_logic.htm#Access「M_休日」テーブル内の「休日」フィールド(日付型)に、 土日以外の休日が登録されている前提です。 元ネタの方が営業日の正負分岐の書き方がいい感じ。 土日以外で休日指…

ネットワークドライブに対応したフォルダ作成

http://blog.livedoor.jp/yorinaga/archives/51557918.html がネットワークドライブに対応してなかったのでカスタマイズ。 Public Function MakeFolder(strPath As String) As Boolean On Error GoTo ErrHandler On Error GoTo 0 Dim pos1 As Integer Dim po…

ドラッグ・フィルを拾ってみた

Dim bFlag As Boolean Private Sub Worksheet_Change(ByVal Target As Range) Static sAfter As String '更新後のセル範囲アドレス Static sBefore As String '更新前のセル範囲アドレス If Target.Row <= 5 Or Target.Column <= 5 Then Exit Sub If bFlag T…

機種依存文字チェック

Public Function Chk_機種依存(strTarget As String) As String Dim strReturn As String 'エラー文字の蓄積用 Dim intStrLen As Integer 'strTargetの文字長 Dim intChar As Integer '判定用の文字コード Dim i As Integer 'counter intStrLen = Len(strTar…

セル内のフォント設定をspanタグに変換する関数

一箇所バグがあったので修正 Public Function GetFontInterior(rCell As Range) As String Dim i As Long, j As Long 'セルのテキスト評価用カウンタ Dim sRet As String '返すテキストを格納 Dim sAttr As String 'style に入れる属性値 Dim nDone As Long …