タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
連載第2回目の目的 この連載第2回目では、Excel VBAによるWebサービスの呼び出しとXMLデータの解析についての手順を学びます。連載第1回目では、Excelの備える機能にてほぼ自動的にテーブルへの展開を行っていましたが、今回はそれらをVBAで行います。Webサービスでは、取得できるデータをXML形式で提供しているものもありますので、似たようなケースでは同様の手順でのデータ取得などに応用できるでしょう。 題材としては、株式会社ヴァル研究所の提供する「駅すぱあとWebサービス」を用います。このサービスは、Webサイトやスマートフォンアプリで有名な「駅すぱあと 乗換案内」でできることをWebサービスを通して利用できるようにするものです。継続使用には有償の契約が必要ですが、90日間無償で全機能を使用できる無料評価版がありますので、今回はこれを使用して指定区間の運賃を自動取得するExcelワ
こんにちは。ExcelVBAからIEを制御する本の著者であり、妹にExcelVBAからIEを制御する方法を教えてもらうゲームの作者であるうえぞうと申します。 Internet Explorerは使われる機会が減ってきたものの、ExcelからスクレイピングをするにはCOM経由で直接操作できるのでとても便利でありました。今はExcelからだとSeleniumBasicを使ってChromiumを操作するのが主流だと思いますが、会社のパソコンだと自由にインストールできなかったりするので困っている人もそれなりに多くいらっしゃるかと思います。 そこで今回はVBAからSeleniumBasicをインストールすることなく、VBAから直接ChromeやEdge(のWebDriver)を操作する方法をシェアしたいと思います。 Seleniumの仕組み 誤解を恐れずに超ざっくり説明すると、ブラウザーを動かすのは
メシウス株式会社の提供する「SpreadJS」は、サーバサイドの実装を必要とせずにWebブラウザのみでExcelライクなスプレッドシートを作成、表示することのできるJavaScriptライブラリです。本記事では、既存のExcel資産をWebアプリに移行する方法を解説します。 対象読者 Excel VBAで作成したマクロをWebアプリに移行したい方 JavaScriptを使ってExcelライクな操作を実現したい方 SpreadJSを使って業務アプリケーションのUIを改善したい方 SpreadJSとは SpreadJSは、JavaScriptだけで動作する高機能なスプレッドシートコンポーネントライブラリです。Webブラウザ上でExcelに近い操作感と豊富な表計算機能を実現し、単なるテーブル表示を超えたインタラクティブなユーザー体験を提供します。 SpreadJSの公式ページ まさに「Excel
ChatGPTがおしゃべりだけではなく調べ物などあらゆるタスクにおいてパワフルなアシスタントとして活躍してくれることについては、ここではもう説明するまでもないでしょう。 そんなChatGPTをブラウザだけではなくExcel VBAから直接使えるようにするというのがこの記事の内容です。この技術を応用すると、こんなことができるようになります。 製品カテゴリー(この動画では、商用データベースソフト)を入力するだけで競合製品の一覧と製品評価軸を自動設定、そして評価コメントまで自動で入力してくれました。あとは人間が添削すれば良いのでとても楽ちんです。 それでは、作り方をみていきましょう。 ChatGPTのAPIキーを取得 はじめに、ブラウザからではなくネットワーク経由でプログラムに組み込むためのAPIを利用できるようにします。 利用申し込みは以下のOpenAI社のサイトから行っていただき、最終的にA
連載第3回目の目的 この連載第3回目では、Excel VBAによるWebサービスの呼び出しとJSONデータの解析についての手順を学びます。連載第2回目では、XML形式のデータを返すWebサービスを用い、データの解析を行っていましたが、今回はJSON形式のデータに対して解析を行います。Webサービスの多くは、取得できるデータをJSON形式で提供していますので、似たようなケースでは同様の手順でのデータ取得などに応用できるでしょう。 題材としては、気象庁の提供する天気予報APIを用います。このAPIは、公式にはWebサービスとして公開されているものではないですが、利用規約を守ることで誰でも無料で気象情報のデータを入手することができます。今回はこれを使用して、指定した気象区の天気予報を自動取得するExcelワークシートを作成します(図1)。 図1:図1:完成サンプル(weather_forecas
VSCodeの拡張機能です。 ExcelVBAコードをVSCodeへインポートやエクスポートが可能 VSCode上でマクロの実行が可能 などなど・・・ 今回紹介する環境はWindows環境になります。 VSCodeのインストールは下記記事を参考にインストールを行ってください。 XVBAインストール まずはVSCodeを起動し、メニューバーの「表示」⇒「拡張機能」(Ctr+Shift+X)を表示させます。 検索ボックスに「xvba」と入力すると2件表示されます。 XVBA – Live Server VBA XVBA – Ribbon Menu 「XVBA – Live Server VBA」を選択し、インストールを行います。 以上でインストールは完了です。 開発を行うための設定 VSCodeで扱いたいファイルが存在するフォルダを指定します。 今回の検証用の前提条件として、フォルダはCドライ
フォームの「ポップアップ」プロパティを「はい」にするとAccess内のウィンドウの最前面に表示されますがが、他のアプリケーションがアクティブになるとその背後に隠れてしまいます。他のアプリケーションも含めてフォームを常に最前面に表示したいという場合もありますよね。 その場合、Windows APIのSetWindowPosを使うと他アプリケーションがアクティブになっても最前面に常に表示させることが可 ... ブログでコメントを投稿した後、誤字や間違いに気づくということはよくありますよね。それを修正したり、コメント自体を削除したりしたいですね。前のFC2ブログでは投稿後も編集や削除出来たので、WordPressでもできるものと思っていました。実際、できていたので。しかし、それは管理者としてログインしていたからということに最近気づきました。 一般ユーザーとしてコメント投稿すると後から編集も削除も
今回はExcel VBAにおける伝家の宝刀。Application.Evaluateメソッドを紹介します。 はじめに Application.Evaluateメソッドとは Evaluateについて Evaluateの基本文法 Evaluateと角括弧の違い Evaluateとシート上で書いた数式の仕様の違い セミコロンとコンマの違い Evaluateの活用法 高精度時刻の取得 配列の作成 よくハマるミス 角括弧でVBAは使えない 引数に配列は使えない 戻り値には参照型と値型がある まとめ はじめに 私のフォロワーさんたちは、私が #VBAクイズ や #ワンライナー に答えるときに、角括弧を使ったVBAで回答しているのを見たことがあるかもしれません。 結構使ってる割にはちゃんとした解説をしたことがないので、一度しっかり説明しておかなくてはならないと常々思っておりました。 いつもネタコードとし
PassFab iPhone Password Manager iPhone/iPadに保存されている全てのパスワードを検索
ExcelでSQLiteのデータを参照したい 私は会社でソフトウェアのテスト項目をExcelで作成・管理しています。 様々な前提条件(製品の設定の組み合わせ)でテストを組んでいるのですが、 ある日ふと「こんな設定の組み合わせで使っているお客さんはいるんだろうか?このテストって意味あるんかな…?」と疑念がわきました。 お客さんが製品をどのような設定で使っているのかのデータはあります。 ですが、そのデータ量が膨大なため、Excelやcsvで扱うことが難しく、SQLiteの形でデータベースを管理しています。 なので、例えば、 「設定A=1、設定B=3、設定C=2」で運用されている製品が市場でどのくらいあるかを調べるには、Excelとは別にSQLiteを読みこんで調べないといけないわけです。これはとても面倒です。 ExcelのVBAを使ってSQLiteのデータを参照することができれば、この作業はと
Excelでデータの集計の際に欠かせないピボットテーブル。知ってるし使ったことはあるけど、 ExcelVBAで書いたことはない、という人は結構いるのではないでしょうか。(私がそうでした。) なので、ExcelVBAでピボットテーブルを操作する際の基本的なコードをいろいろと見ていきましょう。 ちなみに、私は普段の業務ではよくExcelVBAでツール開発していますが、まだまだ勉強中です。 今回は自身の復習も兼ねて、理解を深めるためにも書いていきたいと思います。
ファイル名を自動で変更することができる! ファイル名変更マクロツールをご紹介します。 エクセルファイルをダウンロードしてすぐに使えます。 これで大量のファイル名一括変更も簡単にできます。 エクセルファイル以外にも使えます。 ※但し、ファイル形式(拡張子)の変更はできません。 操作画面 手順 ① 変更するファイルを1つのフォルダに保存する ②【ファイル名取得】ボタンを押す ③ ダイアログでフォルダを選択 作業完了後、A2に選択したフォルダ名、A5以下にファイル名が記入されます。 ④ B列にA列ファイルに対応する変更ファイル名を設定する ⑤【ファイル名変更】ボタンを押す ファイル名が変更され実行結果が記入されます。 ※変更できなかったファイルには実行結果の欄に「×」が表示されます。 ↓ダウンロードはこちらをクリック(詳しい手順、注意事項はファイルの中に記載)
今回はVBAによるプログラミングの実力(レベル)を定義したい思います。 ネットでの質問などを見ると多くの人が「初心者です」と自称しており、本当の初心者が自信をなくしてしまうのでは無いか、と懸念しています。初心者の称号がインフレし、実際の実力がデフレを起こしているのです。これではいつまでたっても「初心者」です。 そこで、VBAプログラミングの実力を相対評価では無く絶対評価で定義してみたいと思います。 目次 入門者 初心者 初級者 中級者 上級者 初段 二段 三段 五段以上 以下、定義というより特徴や説明になってしまっていますが、わかりやすさを優先して進めていきたいと思います。各ステージで次に取り組むべき事も紹介していきます。 入門者 【定義】 これから勉強しようと思っている方。 【傾向】 この記事を読んでいる方は入門者以上がすでに確定です。やる気がある人とあるフリをする人の2つに分かれます。
サンプルプログラム Option Explicit Sub sample() Dim httpReq As New XMLHTTP60 '「Microsoft XML, v6.0」を参照設定 Dim params As New Dictionary '「Microsoft Scripting Runtime」を参照設定 Dim pCode As String pCode = "100-0014" '郵便番号 With httpReq .Open "GET", "https://madefor.github.io/postal-code-api/api/v1/" & Left(pCode, 3) & "/" & Right(pCode, 4) & ".json" .Send End With Do While httpReq.readyState < 4 DoEvents Loop Debu
EXCEL VBA プルダウンが時々なにも表示されなくなる。 データ入力規則でエラー。 ファイル読み込み時には、以下のエラーが表示されます。 ファイルopen時のエラーメッセージEXCEL_VBAのプログラミング不具合です。 プルダウンのデータを作成する時のデータ作成に ミスがありました。 最後の","を削除していませんでした。 プログラムソースはこちら Range("B11").Select WORK_S = "AAAA,BBBB,CCCC,DDDD," With Selection.Cells.Validation .Delete .Add _ Type:=xlValidateList, _ Formula1:=work_s .ErrorTitle = "エラータイトル" .ErrorMessage = "エラーメッセージ" エラーメッセージ表示許可 .ShowError = Fals
概要 Excel VBAでCSVオープンするときのパフォーマンス比較です。 ついでにCSVオープン用のクラスモジュールも作ったので紹介してます。 比較対象 下記方法の実行時間を比較します。 Workbooks.Openでファイルオープン + セル参照 Workbooks.OpenTextでファイルオープン + セル参照 Openで開いて1行ずつ読む + Splitで分割 OpenAsTextStream.ReadAllで全部読む + 正規表現で解析 QueryTablesを使ってファイルオープン + セル参照 結果 ちょうど環境があったExcel 2007とExcel 2013での計測結果です。 横軸は、10個のCSVファイルのオープンを3回行ったときの処理時間になってます。 遅い。読み込むだけなら使わない方がいい。 遅い。読み込むだけなら使わない方がいい。 ダントツ早い。ただし、ダブルク
Excel VBAでシート内を検索する方法を単刀直入に解説します。検索した結果を別シートに転記します。 目次 For~Nextステートメントでループして検索する 一致したら転記する 含んでいたら転記する 条件が合えば転記する Kindle Unlimitedは読み放題! For~Nextステートメントでループして検索する 検索するにはループで繰り返し値が条件に一致するかを確認します。今回は別シートに転記する事にします。 サンプルデータはこのようなものです。 店舗ID、地域、業態の一覧表 図は多店舗展開している飲食業の店舗一覧のイメージです。A列に店舗ID、B列に地域、C列に業態が記入されています。これが100行までデータが存在します。 データ最終行とシート名 一致したら転記する 検索は繰り返し構文でループして値を確認し、条件に一致したものを抽出する、というパターンと決まっています。 まずは
SpreadJSでサーバーに配置したExcelファイルを読み込む まずは01-basicプロジェクトで、SpreadJSの初期化とExcelファイルの読み込みまでを見ていきましょう。 プロジェクトのファイル構成 今回のサンプルは、以下のようなディレクトリ構成になっています。 samples/ ├─ 01-basic/ │ ├─ index.html ← デモアプリのHTMLファイル │ ├─ css/ │ │ ├─ gc.spread.sheets.18.0.6.css ← SpreadJSメインスタイルシート │ │ ├─ ...その他のSpreadJS関連スタイルシート │ │ └─ style.css ← デモアプリ用スタイルシート │ ├─ scripts/ │ │ ├─ gc.spread.sheets.all.18.0.6.min.js ← SpreadJSメインファイル │
こんにちは、業務自動化ツール開発担当の吉池(@valmore_myoshi)です。 前回の配列に引き続き、データをまとめて管理する方法の第二弾としてCollectionオブジェクトを取り上げます。配列よりも簡単にリストを管理できるのが大きな特徴です。 本記事では、Collectionオブジェクトの使い方はもちろん、配列との違い、連想配列の作り方についても解説します。VBAプログラムでデータを管理するときにお役立てください。 Collectionオブジェクトとは Collectionオブジェクトを使うとデータをまとめて扱えます。New演算子でCollectionを指定し、初期化します。配列のようにサイズ(=要素数)を宣言する必要はなく、最初から動的に扱えるのが特徴です。 Dim コレクション名 as New Collection 要素を追加するにはAddメソッド 要素を追加するにはAddメソ
はじめに~なぜ今、Excel VBA+Webサービスなのか? 本連載は、表計算ソフトウェアであるMicrosoft Excel(以降、Excel)と、そのプログラミング言語であるExcel VBAを用いて、各種のWebサービスを活用しようというものです。Webサービスとは、インターネット上で利用可能なようにさまさまなベンダーから提供されている便利なAPI(Application Program Interface)のことです。Webサービスというと、Webアプリケーションから本格的なプログラミング言語、たとえばPHPやJavaScriptなどから呼び出して活用するというイメージが強いのですが、実はExcel VBAからでも利用可能です。 それはもちろん、Excel VBAもWebサービスを呼び出し可能な本格的なプログラミング言語であるからなのですが(VBAはVisual Basic for
【読者の皆様&当ブログへお越し頂いた方へ】 いつも当ブログにお越し頂き誠にありがとうございます。 今後の当ブログの運営にさらなる拡張性をもたせるため、この度WordPress版ブログの 構築と移行を行うことになりました。当初立ち上げた、このはてなブログ様のブログ サイト運営においては、雑記ブロガーとしての礎を築くうえで貴重な情報発信の場を 賜り本当に感謝しております。今後は「新・まえきんブログ」として、当ブログの 記事を読んでくださる方にとって少しでも心に刺さる情報に進化させることができる ようこれまで以上にブロガーとしてのスキルを磨き、精進していく所存でございます。 以前のURLでブックマーク頂いていた方につきましては、大変お手数ながら、 下記URLに変更をお願いします(サイト構成やデザインは極力現行に寄せております) 新・まえきんブログ:https://shin-maekinblog.
脱 Excel VBA 20年前 (Excel2003) から進化せず VB6.0 のままで使われ続けてきた VBA も、そろそろ本格的に引退していただく状況になってきたのではないでしょうか? VBA マクロをデフォルトブロックへ VBA (Visual Basic for Applications) マクロ が仕込まれた Office 文書を悪用した、Emotet などのマルウェアへの対策として、ネットからダウンロードした Office ファイルの VBA マクロをデフォルトでブロックする (2022年4月上旬から順次展開) と発表した。 Excel における VBA の代替 VBA マクロに頼らない方法を紹介します。 Excel 内で完結する処理 LAMBDA 関数 カスタムの再利用可能な関数を作成し、それらを表示名で呼び出します。 Power Query ブック内のデータや外部データ
連載第7回目の目的 連載第7回目では、前回の続きとしてExcel VBAにおけるJSONデータによるWebサービスの呼び出しについての手順を学びます。前回で、APIの概要を紹介し、IDの取得やAPI呼び出しのテストを行い、ワークシートの基本的な準備を済ませました。今回はスクリプトを作成し、サンプルを完成させます(図1)。 図1:完成サンプル ▼完成サンプルのExcelファイル https://github.com/wateryinhare62/mynavi_excelvba_webservice なお、本連載では動作確認をWindows 10 Pro(64bit)、Microsoft 365(Excel 16.0、VBA 7.1)で行っています。旧バージョンや単体のExcelで試す場合にはご注意下さい。 VBAの準備 前回では、ワークシートを準備しました。今回はスクリプトを書いていきますの
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く