メモ

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

世田谷区議会議事録の件

robots.txt 見たらdisallowだったので 議事録スクレイピングの記事は取り下げましたただなぜdisallowなのか区の担当者に 問い合わせしようと思います問い合わせ先が電話かFAXという時点で うーん

選挙ドットコムの過去選挙結果をスクレイピング

選挙ドットコム go2senkyo.comの地方選挙の選挙結果をスクレイピング。 ie.navigate のURL部分を引数にすればガッツリとれるような気がする※世田谷区議選でのみ動作確認 '参照設定 Microsoft HTML Object Library ' Microsoft Internet Controls ' ieCheck: …

PythonでAccessを操作

import win32com.client import pandas as pd cn = win32com.client.gencache.EnsureDispatch('ADODB.Connection') cn.Open( "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/DB.accdb" ) rs = win32com.client.Dispatch('ADODB.Recordset') rs.Open("T"…

初めてのPython。せっかくだからBackLogAPIもついでにいじってみた

pybacklog https://github.com/netmarkjp/pybacklog と xlwings https://www.xlwings.org/ 使ってます。backlogfunc.py from pybacklog import BacklogClient from xlwings import * SPACE_NAME = '' API_KEY = '' PROJECT_KEY = '' # バージョン/ マイルス…

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 テーブル定義自動作成

取り急ぎ自分用 Sub DumpTableDef() 'テーブル定義自動作成!!! Dim db As DAO.Database Dim tdf As DAO.TableDef Dim fld As DAO.Field Dim fs As FileSystemObject Dim ts As TextStream Dim idx As DAO.Index Dim fld2 As Field Dim buf As String Dim …

雑なNFD⇒NFC変換

濁点と半濁点に対応しただけだけど…。 Public Function 濁点半濁点統合(buf As String) As String Dim buf2 As String '返り値格納 buf2 = "" '返り値の初期化 For i = 1 To Len(buf) If AscW(Mid(buf, i, 1)) = 12441 Then '濁点 buf2 = Left(buf2, Len(buf…

エラーが出るコード

もっとでかいデータで回してもエラーは出ないのに…。 R単体で回してもエラーが出ることが判明。 最近3.1.1にバージョンアップしたのが原因? 3.0.1でもエラーが出るのでデータに問題がありそう。 サンプル数に対してFactorが多すぎるのが問題?数値部分の欠損…

*VBAでDOM っぽいことを

Option Compare Database Public Sub testNodeTree() Dim hdoc As MSHTML.HTMLDocument Dim objIE As InternetExplorer Dim obj As Object Dim db As DAO.Database Dim rs As DAO.Recordset Dim rsatt As DAO.Recordset Dim buf As Variant On Error GoTo 0 …

RANK.AVGをExcel2007で書いてみる。

RANK関数をA列に埋め込んだ場合、こんな感じで行けそう。=A1+(COUNTIF(A:A,A1)-1)/2

テキストマイニング的なことを始めています。 で、形態素分析にかける前に文単位で分割しといた方が 便利そうなので、作ってみた。 Public Function 文分割(str As String) As String() Dim nStart As Long Dim Flg As Boolean Dim i As Long Dim j As Long …