• 締切済み

VBAでFelicaを読み書きしたい

Felica方式のカードにデータをRead/Writeさせたいのですが、SDKはあいにく持ち合わせておりません。 共通領域に対するReadとWriteを考えています。 例えば、VBAからライブラリのようなものを呼び出すとかして読み書きさせるとは不可能でしょうか? またVBAではサンプルコードはまず見ないのですが、どこか参考になるサイトをご存じの方がいればお教え下さい。

みんなの回答

noname#214300
noname#214300
回答No.1

最低でもSDK for FeliCa Liteを買わないと何も出来ません。 それを買い、C言語用のDLLをVBから使う知識をお持ちならばAPIを呼び出すことは可能です。 また、SDKの取説は結構詳しく書いてありますので、通常のプログラミングのスキルと、FeliCa自体の詳しい知識があれば読み書き自体は不可能では無いと思われます。 なお、共通領域に対する読み書きとのことですが、既にご承知とは思いますが鍵情報が無いと読み書き出来ない事が殆どですし、別途それなりのリーダライタを入手されているのでしょうか?

関連するQ&A

  • Visual C++でのfelicaプログラム

    SONYのサイトで、SDK for NFC Starter Kit が公開されているので、ためしにFelicaカードの読み取りプログラムを作ってみようと思っています。 サンプルとして、C++が載っていましたので、Visual C++ 2010で動かそうとしましたが、 「error LNK2019: 未解決の外部シンボル __imp__initialize_library が関数 _wmain で参照されました」と表示されます。 プロジェクトのプロパティで、C/C++ → 全般 → 追加のインクルードディレクトリ もSDKのincludeのディレクトリを指定しましたし、 同じく リンカー → 全般 → 追加のライブラリディレクトリ もSDKのlibのディレクトリを指定しました。 エラーを解決する方法を教えてください。 よろしくお願いします。 なお、プログラムは簡単な下記のものでもエラーがでます。 #include "stdafx.h" #include <cstdio> #include <cstdlib> #include "felica.h" int _tmain(int argc, _TCHAR* argv[]) { initialize_library(); return 0; }

  • FeliCaカード ブロック構造及びデータ書き込み

    題名のままなんですが、ご教授をお願いします。 尚、下記質問に対しては「FeliCa 4K」をベースとします。 (1)~(3)参考資料:http://www.e-garde.co.jp/rfid/felica/ (1)ユーザーがカード購入時に任意に設計できる150ブロック をすべてのデータ書き込み領域として使用することは不可能なのか? (2)論理的にカードのシステムは1つだけの場合。 システムコードは必ずしも必要なのか? (3)「サービスコード(16バイト)」は150ブロック内に保存されてしまうのか? 保存された場合自由に設計できるのは149ブロックになるということでしょうか? かつ、「システムコード」も同様に150ブロック内に保存されてしまうのでしょうか? (4)参考資料:http://www.sony.co.jp/Products/felica/business/tech-support/st_command.html (4)カードにデータを書き込む際、 ポーリング→サービス存在確認→相互認証 を行なってから必ず「ブロックデータの読み込み」は必要なのでしょうか? 例えば、150ブロックすべてを履歴を保存する領域として利用する ためだけのカードが存在する場合専用のシステムコードを作り そのシステムコードを持ったカードを補足した場合 ポーリングでシステムコードを要求 ↓ 履歴保存のシステムコードと一致 ↓ サービスコードでブロック数確認 ↓ 相互認証 ↓ カード存在確認 ↓ ブロックデータ書き込み というのは可能でしょうか? 上記文章からわかるように素人です。 できればFeliCaカードの構造やプログラムに 関する書籍などご存知でしたら教えて下さい。 ご回答よろしくお願いいたします。

  • C++からhtmlページを作る

    現在卒業研究でSDK for FeliCaを使った研究をしています。 そこでSDK for FeliCaはVC++6.0で書かれたプログラムで、FeliCaの読み書きを行うのですが、C++のプログラムでFeliCaから読み込んだデータをhtmlに表示したいのですが、C++からhtmlページを作ることはできるのでしょうか? もし、できるのであればどのような方法があるのでしょうか? 具体的なプログラムや参考図書なども教えていただければ幸いです。 よろしくお願いします。

  • VBA AutoFilterModeについて

    以下のサイトにVBAのサンプルがあったので見ていたのですが、「Range("A1").AutoFilterMode」という箇所があります。RangeオブジェクトにAutoFilterModeプロパティは無いと思いますし、実行するとエラーになりますが、このコードについてあっているのか、間違っているのか、どちらになるでしょうか? https://github.com/carvetighter/VBA-Code-Library/blame/master/Mod_Autofilter.bas

  • FeliCaを利用した認証システム

    FeliCaを使用した認証システムを開発しています。 認証方法 (1)PCに個人情報(IDm、名前)の登録を行う。この際、テキストファイル名をIDm(例 01 02 03 05.txt)としファイル内に名前を書き込む。 (2)リーダー/ライターにFeliCaをかざし、IDmを読み取る。 (3)ファイル内の情報を出力させる。 CUIでは、動くのですがGUIで動かすにはどこを替えればいいのでしょうか? 認証というボタン押すと登録された名前を出力させる感じです。 以下にCUIのコードを載せます。 // sample.cpp -*-c++-*- #include <cstdio> #include <cstdlib> #include "felica.h" int main(void); void error_routine(void); void print_vector(char* title, unsigned char* vector, int length); int main(void) { char file[28]; char kawa[6]=".txt"; int i; FILE *fp; int ninzu = 0; char name[100]; //ライブラリの初期化 if (!initialize_library()) { fprintf(stderr, "Can't initialize library.\n"); return EXIT_FAILURE; } //リーダ;ライタの自動認識とオープン if (!open_reader_writer_auto()) { fprintf(stderr, "Can't open reader writer.\n"); return EXIT_FAILURE; } //ポーリングのための宣言 structure_polling polling; unsigned char system_code[2] = {0x00, 0x00}; polling.system_code = system_code; polling.time_slot = 0x00; unsigned char number_of_cards = 0; structure_card_information card_information; unsigned char card_idm[8]; card_information.card_idm = card_idm; //ポーリングとカード情報の取得 if (!polling_and_get_card_information(&polling, &number_of_cards, &card_information)) { fprintf(stderr, "Can't find FeliCa.\n"); return EXIT_FAILURE; } fprintf(stdout, "number of cards: %d\n", number_of_cards); print_vector("card IDm:", card_idm, sizeof(card_idm)); //card_idmをfileに書き込む sprintf(file,"%02x %02x %02x %02x %02x %02x %02x %02x",card_idm[0],card_idm[1],card_idm[2],card_idm[3],card_idm[4],card_idm[5],card_idm[6],card_idm[7]); for(i=23;i<28;i++) file[i]=kawa[i-23]; printf("%s\n",file); if((fp=fopen(file,"r"))==NULL) printf("情報が登録されていません\n"); else{ while(fscanf(fp,"%s",name)==1){ printf("%-10s\n",name); ninzu++; } fclose(fp); } //リーダ。ライタのクローズ if (!close_reader_writer()) { fprintf(stderr, "Can't close reader writer.\n"); return EXIT_FAILURE; } //リーダ。ライタを開放する if (!dispose_library()) { fprintf(stderr, "Can't dispose library.\n"); return EXIT_FAILURE; } return EXIT_SUCCESS; } void error_routine(void) { enumernation_felica_error_type felica_error_type; enumernation_rw_error_type rw_error_type; get_last_error_types(&felica_error_type, &rw_error_type); printf("felica_error_type: %d\n", felica_error_type); printf("rw_error_type: %d\n", rw_error_type); close_reader_writer(); dispose_library(); } void print_vector(char* title, unsigned char* vector, int length) { if (title != NULL) { fprintf(stdout, "%s ", title); } int i; for (i = 0; i < length - 1; i++) { fprintf(stdout, "%02x ", vector[i]); } fprintf(stdout, "%02x", vector[length - 1]); fprintf(stdout, "\n"); } どなたかご教授よろしくお願いします。

  • javaで外部シンセサイザーの音源データを取得

    java2SDKを使って外部のシンセサイザーのmidiデータの取得は可能なのでしょうか? 参考書のサンプルコードではデフォルトシンセサイザーばかりでわかりません.

    • ベストアンサー
    • Java
  • VBAでのテーブルのソートについて

    初歩的な質問をさせていただきます。 VBAの処理で事前にテーブルにためたデータからテーブル内に同じデータがあるか調べたいのですが、テーブル内をソートさせてから上下のテーブル内のデータで1つ1つ判断して同じデータがあるか調べようとしています。 (1)VBAでテーブルにためこんだデータを  sortメソッドでソート可能でしょうか?  可能でしたら、サンプルになるコードを  教えていただけると有難いです。 (2)テーブル内に同じデータがあるか、  一発(?)で判断できる命令はあるのでしょうか? よろしくお願いします。

  • Excel VBAについて

    プログラミング初心者です。 Excelのデータを、VBAをつかって、テキストファイルにおとすよう指示されました。しかし、いまいちやり方がわかりません。 いろいろサイトを調べてみましたがよくわからなかったです。 どういうふうにコード入力していけばいいのでしょうか? ご存知のかた教えてください。 基本的な構文はわかりますのでサンプルを教えていただきたいです。 また、わかりやすい参照URLがあればそれでも結構です。

  • VBAでUTF-8テキストファイル作成したい

    VBA,文字コードなどにあかるくない初心者です。 VBAを利用して、エクセルのとあるセルに記載されている文字を UTF-8形式でテキストファイルに出力させたいと考えています。 (多言語対応のため・・・、韓国語や中国語でセルに記載された文字を  UTF-8形式でテキストファイルに文字化けしないよう出力させたいためです。) どのように実現が可能か、いくつか検索をしてみましたが 難しくてわかりませんでした。 VBAのサンプルコードを教えていただけないでしょうか。 もしくは、初心者でもわかりやすい実現方法が記載されたサイトを教えていただけないでしょうか。 よろしくお願い致します。 ※今文字コードを意識せずに下記のようなVBAを書いています。(簡略化して記載しています。) Sub test() Open "C:\Sample\Data.txt" For Output As #1 'ファイルを新規作成 'データ書き込み Print #1, Cells(1, 1) Close #1 End Sub

  • VBAからPDFのテキストフィールド

    Excelに入力されたデータをVBAでPDFのテキストフィールドへデータを自動で入力したいのですが、いろいろ探してみたものの、それらしきサンプル等もなく困窮しています。 例えばExcelに名前が100人登録されているとして、これを順番にPDFのテキストフィールドへ自動的に入力(更新)し、印刷する。(100人分が完了するまで) といった感じの内容です。 まったくわかりませんので、どなたかお教え下さい。 もしサンプルコードが存在するようでしたらURLをお教えいただけると助かります。 宜しく御願いします。

専門家に質問してみよう