EOleException (メッセージ 'WorksheetFunction クラスの Match メソッドが失敗しました。'
およよ~
エクセルに該当値がないとエラーが生成されました
例外をスルーして対処。
エラー値を返してくれたらいいのに。
try
// 失敗すると例外が発生するみたい
myResult := TargetSheet.Application.WorksheetFunction.Match(TargetID , myRange , 0);
except
end;
およよ~
エクセルに該当値がないとエラーが生成されました
例外をスルーして対処。
エラー値を返してくれたらいいのに。
try
// 失敗すると例外が発生するみたい
myResult := TargetSheet.Application.WorksheetFunction.Match(TargetID , myRange , 0);
except
end;
カテゴリー: ぷろぐらみんぐ/メモ
2013.09.21
パナナビ ポイント登録データフォーマット( .PTF 編 ) メモ
執筆:2011.12.18
編集:2011.12.19
編集:2011.12.20
編集:2011.12.21
編集:2011.12.22
編集:2011.12.28
編集:2011.12.19
編集:2011.12.20
編集:2011.12.21
編集:2011.12.22
編集:2011.12.28
マイ メモ
※データを操作するに はバ イナリ操作に関する知識が必要です。
※データを参考にする 際 は、自己責任で参考になされてください。
※データの整合性はご自分で十分検 証なされてください。
※設定を間違ったり、データを編集したりするとナビが故 障・誤動作する恐れがあります。
ファイル拡張子: PTF
ファイル形式: バイナリデータ
ポイン ト ファイル ptf |
|
ヘッダ 12バイト | データ1 データ2 .... データN |
» 続きを読む
カテゴリー: ぷろぐらみんぐ/メモ
2011.12.18
エラー: "B005SR0OMY" is not a valid value for ItemId.
はぁ・・・
最近まで正常に表示されていたので
全くわかりませんでしたが、表示されなくなっていたので
あわわ・・・って急いで調べました。
1時間検索の末、やっと
エンドポイントが原因ということを書いているページがあったので
AWSECommerceServicePortJPというのが wsdlに記述されているので
そこの値を指定すると解決しました。
$AWS_wsdl_end_point = 'https://webservices.amazon.co.jp/onca/soap?Service=AWSECommerceService';
$client->__setLocation($AWS_wsdl_end_point);
wsdlは日本のurlから取得しているのになんでcomの値が入っているの?
って感じ。
まったく もう!!
はぁ・・・
最近まで正常に表示されていたので
全くわかりませんでしたが、表示されなくなっていたので
あわわ・・・って急いで調べました。
1時間検索の末、やっと
エンドポイントが原因ということを書いているページがあったので
AWSECommerceServicePortJPというのが wsdlに記述されているので
そこの値を指定すると解決しました。
$AWS_wsdl_end_point = 'https://webservices.amazon.co.jp/onca/soap?Service=AWSECommerceService';
$client->__setLocation($AWS_wsdl_end_point);
wsdlは日本のurlから取得しているのになんでcomの値が入っているの?
って感じ。
まったく もう!!
カテゴリー: ぷろぐらみんぐ/メモ
2011.11.09
flashのハンドルを取得してみよう。
TWebBrowser.HWNDを取得する方法 (メモ: その2)
flashのハンドルを取得してみよう。
【方法1】 : Tag名からリストアップする
【方法2】 : 子Windowから探す
flashオブジェクトが htmlの
最上位に貼り付けられている場合の例です。
※iframeなどに入っている場合は、下位階層まで追いかける必要があります。
※単一のflashが htmlに張り付いている場合。
使用例 : SetFocusする。
GetWindowHandleFromIDispatch関数については、
TWebBrowser.HWNDを取得する方法 (メモ: その1)
に書いてあります。
TWebBrowserで、どうしても入力フォーカスを当てたい際に役に立ちます。
flash以外の他のオブジェクトも同様に応用することができます。
さようなら Delphi
レッツゴー ドットネット
それいけ ドットネット
それいけ C#
執筆:2011.10.19
編集:2011.10.19
編集:2011.10.19
TWebBrowser.HWNDを取得する方法 (メモ: その2)
flashのハンドルを取得してみよう。
【方法1】 : Tag名からリストアップする
var H : THandle; i : Integer; v_Doccument, v_elems , v_attr : Variant; s : string; begin v_Doccument := WebBrowser1.Document; if VarIsClear(v_Doccument) or ('Internet Explorer_Server' <> GetClassNameText(GetWindowHandleFromIDispatch(v_Doccument))) then begin Exit; end; v_elems := v_Doccument.getElementsByTagName('OBJECT'); if Not VarIsClear(v_elems) and (v_elems.length > 0) then begin s := 'count: '+IntToStr(v_elems.length) + sLineBreak; for i := 0 to v_elems.length -1 do begin v_attr := v_elems.Item(i).getAttribute('CLASSID'); if Not VarIsClear(v_attr) and (VarToStr(v_attr) = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000') then begin s := s + v_attr + sLineBreak; H := GetWindowHandleFromIDispatch(v_elems.Item(i)); s := s + ' HWND: ' + IntToStr(H) + sLineBreak + sLineBreak; end; end; ShowMessage(s); end; end; |
【方法2】 : 子Windowから探す
flashオブジェクトが htmlの
最上位に貼り付けられている場合の例です。
※iframeなどに入っている場合は、下位階層まで追いかける必要があります。
※単一のflashが htmlに張り付いている場合。
function SearchFlashHandle(p_hwnd : HWND) : HWND; var c_hwnd : HWND; begin Result := 0; c_hwnd := GetWindow(p_hwnd, GW_CHILD ); while (c_hwnd > 0) do begin // ClassName[MacromediaFlashPlayerActiveX] if (Pos('MacromediaFlashPlayerActiveX', GetClassNameText(c_hwnd)) = 1) then begin Result := c_hwnd; break; end; c_hwnd := GetWindow(c_hwnd, GW_HWNDNEXT ); end; end; |
使用例 : SetFocusする。
h := GetWindowHandleFromIDispatch(WebBrowser1.Document); flash_handle := SearchFlashHandle(h); if (flash_handle > 0) then Windows.SetFocus(flash_handle); |
GetWindowHandleFromIDispatch関数については、
TWebBrowser.HWNDを取得する方法 (メモ: その1)
に書いてあります。
TWebBrowserで、どうしても入力フォーカスを当てたい際に役に立ちます。
flash以外の他のオブジェクトも同様に応用することができます。
さようなら Delphi
レッツゴー ドットネット
それいけ ドットネット
それいけ C#
カテゴリー: ぷろぐらみんぐ/メモ
2011.10.20
C#で WebBrowserを使ってみよう(その1)
Delphiで作ると実行ファイルが大きくなるし、Tabで WebBrowserコ ントロール内に移動できないので
さぁ C#だー
はっはっはっ!
って 試験動作させると
瞬時に ずっこけました。
OnNewWindowで、Dispatchが設定したかったのです。
他にもいっぱいあるのですけど
NewWindowでDelphi相当の機能が実装されていないのです。
開くURLも取得できないし、Dispatchも設定できないなんて、酷い(ひどい)話です。
.Netには、なんの嫌がらせか知りませんが、本来つけておくべきイベントがたくさんないのです。
なんでもかんでも
新しいWindowで開くで、IEに送るのでは、WebBrowserを内蔵する意味がほとんどないでしょ。
(※IEに送るとセッションCookie?が引き継がれないから問題なんです。)
ということで、
.NetのWebBrowserを拡張して本来あるべきイベントを追加して対処しました。
参考にした フォーラム が型とか ウソ書いていたので
少し手間だったヨ。
◎よくできました
とりあえず、目的の動作をするようにしたのでので「よし」としよう。
【参考サイト】
執筆:2011.10.15
編集:2011.10.16
編集:2011.10.16
Delphiで作ると実行ファイルが大きくなるし、Tabで WebBrowserコ ントロール内に移動できないので
さぁ C#だー
はっはっはっ!
って 試験動作させると
瞬時に ずっこけました。
OnNewWindowで、Dispatchが設定したかったのです。
他にもいっぱいあるのですけど
NewWindowでDelphi相当の機能が実装されていないのです。
開くURLも取得できないし、Dispatchも設定できないなんて、酷い(ひどい)話です。
.Netには、なんの嫌がらせか知りませんが、本来つけておくべきイベントがたくさんないのです。
なんでもかんでも
新しいWindowで開くで、IEに送るのでは、WebBrowserを内蔵する意味がほとんどないでしょ。
(※IEに送るとセッションCookie?が引き継がれないから問題なんです。)
ということで、
.NetのWebBrowserを拡張して本来あるべきイベントを追加して対処しました。
private void exWebBrowser1_NewWindow3( object sender, WebBrowserExtendedNewWindow3EventArgs e) { // メモ // (1)e.pDisp に設定しない。新しいIEとして開く。 // (2)e.pDisp を設定する。指定したWebBrowserで開く。 // ※同じWebBrowserでは、e.pDispは、動作しない。 // (3)同じWebBrowserで開く。キャンセルNavigateを呼ぶ。 // ※POSTなどが失われるので注意。 // MessageBox.Show((string) e.URL); // open as self WebBrowser // e.Cancel = true; exWebBrowser1.Navigate((string) e.URL); // open as new WebBrowser // e.pDisp = exWebBrowser2.ActiveXInstance; } |
|
// using System.Runtime.InteropServices; public event EventHandler<WebBrowserExtendedNewWindow3EventArgs> NewWindow3; protected void OnNewWindow3( ... 省略 ..... 省略 [ComImport, Guid("34A715A0-6587-11D0-924A-0020AFC7AC4D"), InterfaceType(ComInterfaceType.InterfaceIsIDispatch), TypeLibType(TypeLibTypeFlags.FHidden)] public interface DWebBrowserEvents2 { [DispId(273)] void NewWindow3( [In, Out, MarshalAs(UnmanagedType.IDispatch)] ref object pDisp, [In, Out] ref bool cancel, [In] ref object flags, [In] ref object URLContext, [In] ref object URL); } |
|
読者に作る機会を与え、動作原理を理解させるために あえて、完全なコードは開示していません。 不足分は、参考サイトを見ながら完成させましょう。 |
参考にした フォーラム が型とか ウソ書いていたので
少し手間だったヨ。
◎よくできました
とりあえず、目的の動作をするようにしたのでので「よし」としよう。
【参考サイト】
- webBrowserで別のウインドウで開くときの開く先のURLの取得法
とその中のリンク記事
(VSUG フォーラム → .NET 開発 → Visual C# → webBrowserで別のウインドウで開くときの開く先のURLの取得法) - MSDN Library for Visual Studio 2008
・CreateSink メソッド (使用例)
・他
カテゴリー: ぷろぐらみんぐ/メモ
2011.10.17