タグ

.netとvbaに関するtyamamotoのブックマーク (8)

  • C#でVBA向けの.NETライブラリ(COMコンポーネント)を作成するには? - @IT

    .NET TIPS C#でVBA向けの.NETライブラリ(COMコンポーネント)を作成するには?[C#] デジタルアドバンテージ 一色 政彦 2011/10/06 「TIPS:VBAで独自の.NETライブラリを使うには?」では、Microsoft Office製品(WordやExcelなど)に独自の処理を追加するためのVBA(Visual Basic for Applications)マクロで、.NET Frameworkで作成した独自のクラスを活用する方法を紹介した。そこでは、VBAと親和性が高いVB(Visual Basic)を使ってVBA向けの.NETライブラリ(=COMコンポーネント)を作成したが、もちろんこのときにC#を使うこともできる。稿ではその方法を紹介する。 ●C#によるVBA向けの.NETライブラリの作成 最初に、VBA向けに.NETのクラス・ライブラリを作成しよう。

  • Excel 2016でUTF-8のCSVファイルがサポートされるようになりました。 | 初心者備忘録

    以前書いた記事でSharpDevelopを使ってExcel用のCOMアドインを作成する方法について説明しましたが、最近のWindows PCには標準でC#のコンパイラが入っているので(環境によっては入っていませんが、ここではそういった環境は横に置いておきます)、わざわざ重いIDEを使わなくても、メモ帳などの軽いテキストエディタだけで、VBAから扱えるマネージドなDLLを作成することができます。 C#コンパイラ(csc.exe)の場所 C#のコンパイラの実体は「csc.exe」で、私の環境(Windows 7 32ビット版)だと下記フォルダにファイルがありました。 C:\Windows\Microsoft.NET\Framework\v2.0.50727 C:\Windows\Microsoft.NET\Framework\v3.5 C:\Windows\Microsoft.NET\Fram

    Excel 2016でUTF-8のCSVファイルがサポートされるようになりました。 | 初心者備忘録
  • WinHTTP ライブラリで Web スクレイピング(3)〜解析編〜

    実際にはもっと細かい情報まで必要とする状況もあるでしょうが、今回はあくまでデモケースなので、このていどにしておきます。 どのみち、情報の取得は単調な繰り返しで、対象要素が変わってもやり方はそれほど変わりません。 トピックを読み終えるころには、どんな要素でも自在に取り出せるようになっていることでしょう。 正規表現 正規表現とは、一定の規則に従ったパターン文字列を認識するための技術です。 パターンの定義にはメタ文字と呼ばれる特殊な意味を持つ文字を使用します。 概念的には VBA の Like 演算子を思い浮かべると理解しやすいでしょう。 Like 演算子にもいくつかメタ文字が存在します。たとえばメタ文字 "*" は、0 個以上の任意の文字を意味します。 正規表現のメタ文字は、Like 演算子のそれとは少し意味が異なりますが、大雑把に言えば Like 演算子を強力に拡張したものが正規表現(ある

  • WinHTTP ライブラリで Web スクレイピング(2)〜 POST 編〜

    概要 前回までのあらすじ JRA のサイトから出馬表をスクレイピングする、という目標を掲げたものの、肝心の出馬表ページを GET しようとするとパラメータエラーになってしまうことが判明。 URL を確認したところ、別々のページに見えたものがまったく同一の URL になっていましたとさ。 「出馬表 開催選択」画面 「出馬表 レース選択」画面 「出走馬一覧」画面 さて、こういう場合はどうしましょう? 基 ここで HTTP プロトコルについて、基をおさらいしておきます。 HTTP プロトコルはいくつかのメソッドをサポートしています。 そのうち最もポピュラーなのは GET と POST でしょう。 GET はサーバにレスポンスを要求するメソッドです。静的な Web ページの取得で用いられるのはもちろんですが、CGI による動的なページをリクエストする場合は、一般的に URI に QuerySt

  • WinHTTP ライブラリで Web スクレイピング(1)~ GET 編~

    概要 Web から情報を取得したいというニーズは、いまや当たり前のものになりました。 対象サイトが Web API を提供している場合、話は簡単です。しかし Web API を提供しているサイトばかりではありません。というより、数で言うなら Web API を提供していないサイトの方が圧倒的多数です。そんなサイトの中にほしい情報があった場合は、否応なく Web ページを直接取得して情報を解析・抽出する必要があります。 原始的と言うか地道と言うか、とにかくこのベタなやり方を称して「Web スクレイピング」(文脈によっては単に「スクレイピング」)と呼びます(海外では Web harvesting と呼ぶ場合も多いですが、なぜか日ではこっちはほとんど用いられないようです)。 Access VBA で Web スクレイピングを行う方法については、サイトにすでに関連トピックが二つ存在します。 W

  • Excel の列番号をアルファベット文字に変換する方法 - Microsoft 365 Apps

    概要 この記事では、Microsoft ExcelMicrosoft Visual Basic for Applications (VBA) 関数を使用して、列番号を同じ列の対応するアルファベット文字指定子に変換する方法について説明します。 たとえば、列番号 30 は、同等のアルファベット文字 "AD" に変換されます。 詳細情報 Microsoft は、例示のみを目的としてプログラミング例を提供しており、明示または黙示にかかわらず、いかなる責任も負わないものとします。 これには、市販性または特定の目的との適合性についての黙示の保証も含まれますが、これに限定はされません。 この記事は、説明されているプログラミング言語、手順を作成およびデバッグするために使用されているツールに読者が精通していることを前提にしています。 マイクロソフト サポート窓口では、特定のプロシージャの機能説明に関す

    Excel の列番号をアルファベット文字に変換する方法 - Microsoft 365 Apps
  • 全ては時の中に… : 【VB.NET】VB.NETからExcelのVBA(マクロ)を実行する

    2007/11/420:11 【VB.NET】VB.NETからExcelVBA(マクロ)を実行する VB.NETを使って、ExcelやWord等のOffice製品と連携することが多々ある。 このような場合で、VBA(マクロ)をVB.NETから実行したいことがある。 その方法について説明する。 以下、サンプル。 《準備》 ・参照設定を追加する。 →COMコンポーネントのMicrosoft Excel xx.x Object Libraryを追加する。 ・Imports文でMicrosoft.Office.Interop.Excelを宣言する。 《コード》 '[参照設定の追加]-[COM]タブから 'Microsoft Excel xx.x Object Libraryを選択する必要あり。 Imports Excel = Microsoft.Office.Interop.Excel Priv

  • エクセルへのデータの貼付時に書式が反映されない! - OKWAVE

    こんにちは。KenKen_SP です。 > m_xlSheet.Range("A" + CStr(lngRows) + ":U" + CStr(lngRows)).Value = strValue 変数 strValue が String型配列になっているからですね。恐らく、VB の自動 キャスト機能が原因です。 オートメーションのコードを書くのは面倒なので、Excel VBA でサンプルを 書いておきます。変数の型の違いでセルへ転記がどのように違うかを確認して 下さい。 Sub Sample1() ' 文字列として数字が転記される例 Dim Buf() As String '<-- 文字列型変数が原因 ReDim Buf(1 To 5, 1 To 5) For i = 1 To 5 For j = 1 To 5 ' 数値が文字列にキャストされる Buf(i, j) = 12345 Nex

    エクセルへのデータの貼付時に書式が反映されない! - OKWAVE
    tyamamoto
    tyamamoto 2009/02/20
    String型配列が原因で、Variant型であれば反映される。ちなみに.NETの場合は、Object配列で反映される。
  • 1