jcctaira の回答履歴

全261件中41~60件表示
  • vba ie操作 ボタンを押したい(2)

    https://ca.omc-card.co.jp/member/omcplus_login.html のサイトにログインしたいのですが、ログインボタンが押せません。 ソースは、 ********************************************************************************** <FORM action="../member/xt_mem_top_login.asp" method="post" name="form1"><input type="hidden" name="sid" value=""><input type="hidden" name="pw" value="">     ~~~省略~~~ <TABLE border="0" cellspacing="0" cellpadding="5" class="tab_button_bottom15"> <TR> <TD><A href="javascript:checkInput(document.form1);"><IMG src="../img/button/login.gif" alt="ログイン" width="160" height="35" border="0"></A></TD> </TR> </TABLE> </FORM> ********************************************************************************** です。 --------------------------------------------------------------------------------- Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "https://ca.omc-card.co.jp/member/omcplus_login.html" Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop objIE.Document.forms(0).Item("sid_input").Value = "×××" objIE.Document.forms(0).Item("pw_input").Value = "×××" Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop 'objIE.Document.forms(1).submit 'エラーになる objIE.Document.all.Item("document.form1").Click 'エラーになる objIE.Document.forms(0).getElementsByTagName("input")(0).Click 'エラーにならないけどクリックもされない。 objIE.Document.forms(0).getElementsByTagName("input")(1).Click 'エラーにならないけどクリックもされない。 objIE.Document.forms(0).getElementsByTagName("document.form1")(1).Click 'エラーになる objIE.Document.forms(1).getElementsByTagName("input")(1).Click 'エラーになる Set objIE = Nothing End Sub --------------------------------------------------------------------------------- テキストにIDとPWを入れるところまでは出来たのですが、 ログインボタンを押すことができません。 すいませんがご教授ご回答よろしくお願いしますm( )m

  • この例は「何渡し」と言うのでしょうか?

    Sub test1() Call test2("aaa") End Sub Sub test2(str As String) MsgBox str End Sub ByRefもByValも使ってないから 参照渡しでも値渡しでもないですよね?

  • 乗換案内 VBAで操作したい

    ジョルダンの乗換案内を、VBAで操作したいのですが、詰んでしまいました・・・ Sub 乗換案内() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "http://www.jorudan.co.jp/" Const READYSTATE_COMPLETE As Long = 4 Do While objIE.Busy = True DoEvents Loop Do Until objIE.ReadyState = READYSTATE_COMPLETE Loop objIE.document.all("eki1").Value = "東京" objIE.document.all("eki2").Value = "品川" objIE.document.Forms(0).submit Set objIE = Nothing End Sub を実行してVBAでIE操作をしたいのですが、うまくできません。 【質問1】 objIE.document.Forms(0).submit はエラーにならないのですが、検索ボタンがクリックされず(検索結果は表示されず) 詳細検索画面 http://www.jorudan.co.jp/norikae/cgi/nori.cgi?rf=top&eok1=&eok2=&pg=0&eki1=%E6%9D%B1%E4%BA%AC&eki2=%E5%93%81%E5%B7%9D&Dym=201207&Ddd=24&Dhh=14&Dmn1=3&Dmn2=2&Cway=0&Csg=1 に進んでしまいます。 objIE.document.Links(0).Clickにしてもダメでした。 【質問2】 出発地、到着地の指定はできたのですが日時の指定ができません。 2012/08/01 8時00分をプルダウンに入れたいのですが、 objIE.document.allをどのようにすればいいのでしょうか? ご教授よろしくお願いします。 ソースを見ると、 <script type="text/javascript">select_day();select_time();</script> となっていて、nameがありません。

  • 乗換案内 VBAで操作したい

    ジョルダンの乗換案内を、VBAで操作したいのですが、詰んでしまいました・・・ Sub 乗換案内() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "http://www.jorudan.co.jp/" Const READYSTATE_COMPLETE As Long = 4 Do While objIE.Busy = True DoEvents Loop Do Until objIE.ReadyState = READYSTATE_COMPLETE Loop objIE.document.all("eki1").Value = "東京" objIE.document.all("eki2").Value = "品川" objIE.document.Forms(0).submit Set objIE = Nothing End Sub を実行してVBAでIE操作をしたいのですが、うまくできません。 【質問1】 objIE.document.Forms(0).submit はエラーにならないのですが、検索ボタンがクリックされず(検索結果は表示されず) 詳細検索画面 http://www.jorudan.co.jp/norikae/cgi/nori.cgi?rf=top&eok1=&eok2=&pg=0&eki1=%E6%9D%B1%E4%BA%AC&eki2=%E5%93%81%E5%B7%9D&Dym=201207&Ddd=24&Dhh=14&Dmn1=3&Dmn2=2&Cway=0&Csg=1 に進んでしまいます。 objIE.document.Links(0).Clickにしてもダメでした。 【質問2】 出発地、到着地の指定はできたのですが日時の指定ができません。 2012/08/01 8時00分をプルダウンに入れたいのですが、 objIE.document.allをどのようにすればいいのでしょうか? ご教授よろしくお願いします。 ソースを見ると、 <script type="text/javascript">select_day();select_time();</script> となっていて、nameがありません。

  • Access2003、2010間の非互換?

    これまでWindowsXPで動作していた Access2003のアプリケーションをそのまま、 Windows7 Office2010の環境で動作させようとしたところ、 以下のエラーが発生しました。  [エラー]   ”実行時エラー -2417352567(80020009)   このオブジェクトに値を代入することはできません。” デバッグで上記エラー発生個所を追ってみたところ フォームの処理モジュールで、 自フォームに定義されたチェックボックスの値を変更する箇所があるのですが、 そこで起きています。  [フォームの定義情報]    :   ・CKボックス = チェックボックスの名称  [フォームモジュール内でエラーが発生した処理]   Me.CKボックス = True 冒頭にも挙げたとおり、 本アプリケーションは2003⇒2010の際のソース・設定の変更は実施しておらず 2003の環境では正常に動作しています。 2010へのバージョンアップにあたり、 このチェックボックスの仕様に変更等があったのでしょうか? この現象の解決方法をご教授願います。 いくらかネットで調べてみましたが、 ピタリと該当する事例は確認できておらず お力を貸していただけたらと思います。

  • Selectしたグラフまで画面を移動させたい

    ファイル内のグラフオブジェクトを検索して、そのグラフまで移動したいのですが せっかくグラフを特定しても セルと違ってSelectしても画面がそこまで移動せずに困っています グラフのある位置のセルをセレクトすればよいのかとも思ったのですが グラフの位置はTop/Left式で、これをRangeに返還するのもどうしてよいのかが思いつかずという状態です 画面をスクロールさせる Activewindow.Scroll~というのもみつけたのですがこちらも画面単位やセル単位でしか移動できない様子 どなたか、どう対処すればよいのかわかる方がいらっしゃれば教えていただけると幸いです エクセルは2007を利用しています

  • PPTのVBA 全てのテキストボックスの行間を最小

    【PPTのVBA 全てのテキストボックスの行間を最小に】  今晩は、質問させていただきます。どうぞよろしくお願いいたします。 PPT2007でございます。  手元に大量にあるPPTファイル群のテキストボックスの行間が全て広いため、 全て一括で小さくしてしまいたい次第でございます。 もしこれを手作業でやりますと、テキストボックスをアクティブにする→右クリック →「段落」→「段落前」を0に。 となり時間がかかりますため、VBAでどうにかしたい次第でございます。  しかしネットで検索しても出てこず、 また上記操作を自動記録しようといたしましても記入されません。 (PPT2007には自動記録が無いため、excel、wordでトライいたしましたが、無理でございました。。。) 一個のテキストボックスの操作方法さえ分かれば後は、 For each スライド   For each テキストボックス   :   :   Next Next みたいな感じで出来ると思うのでございますが。。  もしお詳しい方がいらっしゃいましたら,お教えいただけないでしょうか。 どうぞよろしくお願いいたします。

  • [Ecxel VBA] 山括弧(>)のエスケープ

    Excel2003のVBAで、以下の例のようにHTMLタグ内の強制改行を<br />に置換するマクロを組みたいです。 ▼置換前 <ul> <li>あああ いいい</li> <li>ううう</li> </ul> ▼置換後 <ul> <li>あああ<br /> いいい</li> <li>ううう</li> </ul> 以下のようにVBAを書いてみましたが、置換パターンが認識せず困っています。 ============================= Dim re As Object Set re = CreateObject("VBScript.RegExp") re.IgnoreCase = True ' 大文字小文字を区別しない re.Global = True ' 複数回マッチする re.MultiLine = True '複数行マッチ re.Pattern = ">(\n){1,}<" ' 正規表現のパターン buf = re.Replace(buf, ">@@BRにしない改行@@<") ' 置換 ' ここで、残った改行コードを <br /> に置換する(ソース省略) ' ここで、「@@BRにしない改行@@」を改行コードに戻す置換をする(ソース省略) ============================= テキストエディタでこの正規表現パターンを使えばできたのですが、 Excel VBAでは、この正規表現パターンで抽出できませんでした。 re.Pattern = "\>(\n){1,}\<" のようにエスケープしてみてもだめでした。 先頭の「>」をトルとパターンを認識したため、先頭の「>」が原因かと 思っているのですが解決方法を見つけることができませんでした。 エスケープ方法が不適切なのでしょうか? 解決策をご教示いただけると幸いです。よろしくお願いいたします。

  • VBA web情報取得(スクレイピング)について

    初心者ですが宜しくお願いいたします。 環境:EXCEL 2007 簡単な情報を取得してシートに入れていきたいと思っています。 参考サイトを拝見し以下のコードを見つけました。 Sub test() Dim oHttp As Object Set oHttp = CreateObject("MSXML2.XMLHTTP") oHttp.Open "GET", "取得サイトのURL", False oHttp.Send Debug.Print oHttp.responseText End Sub 試しに天気予報から今日の天気を取得しようと思い、 http://weather.yahoo.co.jp/weather/jp/27/6200.html のサイトからHTMLを取得し、 イミディエイトウィンドウで "今日の天気" の語句を検索しましたが、見つかりませんでした。 他のサイトでも試してみましたが、必要な情報がHTMLに含まれていないようです。 切り出したい文字列が見つからないのは、取得方法に何か問題があるのでしょうか? 素人質問で本当に申し訳なく思います。 何か参考になるサイトや参考書等でもかまいませんので、 お知恵を貸していただけると助かります。 宜しくお願いいたします。

  • access vbaで引数によって、関数を変えたい

    引数名の関数を実行したいのですが、どうすればいいでしょうか? 【やりたいイメージ】 Function 関数選択(関数) 関数選択 = 関数() ← 引数の関数が"z"の場合、"Function z()"を呼びたい End Function -------------------- 呼び出す関数 -------------------- Function a() a = "a" End Function ~ Function z() z = "z" End Function -------------------------- "Function 関数選択(関数)"の中で、ifやswich すればできると思うのですが、ずらずら書くのもうっとおしいのでスマートにしたいと思っています。 call がいいと思ったのですが、戻り値がかえせません。 何かいい方法はないでしょうか? よろしくお願いします。

  • access vbaで引数によって、関数を変えたい

    引数名の関数を実行したいのですが、どうすればいいでしょうか? 【やりたいイメージ】 Function 関数選択(関数) 関数選択 = 関数() ← 引数の関数が"z"の場合、"Function z()"を呼びたい End Function -------------------- 呼び出す関数 -------------------- Function a() a = "a" End Function ~ Function z() z = "z" End Function -------------------------- "Function 関数選択(関数)"の中で、ifやswich すればできると思うのですが、ずらずら書くのもうっとおしいのでスマートにしたいと思っています。 call がいいと思ったのですが、戻り値がかえせません。 何かいい方法はないでしょうか? よろしくお願いします。

  • access vbaで引数によって、関数を変えたい

    引数名の関数を実行したいのですが、どうすればいいでしょうか? 【やりたいイメージ】 Function 関数選択(関数) 関数選択 = 関数() ← 引数の関数が"z"の場合、"Function z()"を呼びたい End Function -------------------- 呼び出す関数 -------------------- Function a() a = "a" End Function ~ Function z() z = "z" End Function -------------------------- "Function 関数選択(関数)"の中で、ifやswich すればできると思うのですが、ずらずら書くのもうっとおしいのでスマートにしたいと思っています。 call がいいと思ったのですが、戻り値がかえせません。 何かいい方法はないでしょうか? よろしくお願いします。

  • VBAでファミマTポイントカードのサイトにログイン

    VBAでファミマTポイントカードのサイトにログインしたいですが うまくいきません。 https://service.famimacredit.co.jp/ftps/top.do のURLを開いて、 --------------------------------------------------------- Sub test() Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True ObjIE.Navigate "https://service.famimacredit.co.jp/ftps/top.do" ObjIE.Document.all.loginID.Value = "" ObjIE.Document.all.pswd.Value = "" ObjIE.Document.forms(0).submit End Sub --------------------------------------------------------- をすると、エラーになってしまいます。 ログインだけがうまくいきません。 ObjIE.Document.forms(0).submit が間違ってると思います。 ご教授よろしくお願いします。

  • 最下層項目の前に集団項目名を付与するには?

    VBA初心者です。 以下のようにシートに文字列がある場合についてです。      A列  B列   C列        1行目  1   A     A         *集団項目* 2行目  2   A-1   A_A-1    *集団項目* 3行目  3   B     A_A-1_B   *最下層項目* 4行目  1   A1    A1         *集団項目* 5行目  3   B     A1_B       *最下層項目* 6行目  3   C     A1_C          *集団項目* 7行目  5   D     A1_C_D      *最下層項目* 8行目  3   E     A1_E        *最下層項目* ・やりたいこと  最下層項目の前に”集団項目名_”を付与したいです。C列はその結果を表しています。  VBAで実現したいです。 ・シートの初期状態  A列に階層を表す数字、B列に項目名が記載されています。C列は便宜上記載したものです。 ・階層の考え方  数値が大きくなるほど、その前の小さい数値に従属します。  例えば、3行目は2行目と1行目に従属し、2行目は1行目に従属します。 ・処理条件  ・A列が空白になるまで繰り返す。  ・A列が1の行から次に1が現れる1行前までが1つのグループという考え方です。   (1~3行目までが1つのグループ、4~8行目までがもう1つのグループ)   C列の結果には、必ずA列が1の項目名で始めます。 ・やっかいそうだと思われること  6、8行目は同じ階層ですが、6行目は7行目があるため集団項目、8行目は最下層項目です。 ・その他  例えばA列が1の場合はC列に、2の場合はD列に・・・というように列をずらして  後から結合してもよいです。  その場合、アンダーバーは不要です(後から付与できるため)  但し、1グループ内でC列には同じ文字列が設定されていることが前提となります。  (例)  A列 B列  C列 D列   E列   1  A    A    2  A-1  A  A-1   3  B    A  A-1  B 以上、よろしくお願い致します。

  • OCNにVBAでログインしたいのですが

    OCNにVBAでログインしたいのですが うまくできません。 URLは https://login.ocn.ne.jp/auth/s2001/pc/AuthLoginDisplay.action もしくは http://www.ocn.ne.jp/ です。 objIE.Document.all("comid").Value = " tenor.ocn.ne.jp" objIE.Document.all("password").Value = "" ここまではうまくいくのですが、ログインしようと、 objIE.Document.forms(0).submit 'ダメ objIE.Document.all("action:AuthLoginLogin").Checked = True 'ダメ でもダメでした。 ソースは <p class="align-c roll"><input type="image" alt="ログイン" src="common/images/btn_login.gif" id="AuthLoginDisplay_AuthLoginLogin" name="action:AuthLoginLogin" value="Submit" class="button"/> </p></form> なのですが うまくできません。 わかる方ご教授よろしくお願いします。

  • VBA IE ラジオボタンにチェックをつけたい

    エクセルvbaでIE操作をしているのですが、 -------------------------------------------------------- <tr> <th><span class="asterisk">*</span>&nbsp; <label for="sex">性別:</label></th> <td> <input type="radio" name="gender" value="m" id="male" tabindex="1000"> <label for="male">男性</label> <input type="radio" name="gender" value="f" id="female"> <label for="female">女性</label> </td> </tr> -------------------------------------------------------- のソースで、男性にチェックを入れたいのですが、 どのようなVBAコードを書けばいいのでしょうか? objIE.document.all.gender.Value = "m" だとエラーになってしまいます。 ご教授よろしくお願いします。

  • VBAでIE操作

    三流君を見てもよくわからなかったので教えてください。 三菱東京UFJ銀行に自動でログインできるようにエクセルVBAで操作していますが パスワードを入れた後のログインがうまく出来ません。 objIE.document.Forms(0).submit だと、サイトが更新されてしまいます。 ソースは <td class="buttons"> <a href="javascript:void(0)" onClick="gotoPageFromAA011(); return false;" tabindex="3"><img src="https://directg.s.bk.mufg.jp/refresh/imgs/DIRECT_IMAGE/LOGINOUT/btn_login.gif" alt="ログイン" onmouseover="this.src='https://directg.s.bk.mufg.jp/refresh/imgs/DIRECT_IMAGE/LOGINOUT/btn_login_over.gif'" onmouseout="this.src='https://directg.s.bk.mufg.jp/refresh/imgs/DIRECT_IMAGE/LOGINOUT/btn_login.gif'"></a> なので、 objIE.document.all.gotoPageFromAA011(); return false;.Click とやりたいところですが、VBAではエラーになってしまいます。 どうすればログインできるのでしょうか? http://www.ken3.org/cgi-bin/group/vba_ie_form.asp#Input_button_Click を見てみましたが私がうまく出来てないのか出来ませんでした。 ご回答よろしくお願いします。

  • エクセル2003のVBAを教えてパート2

    エクセル2003のVBAを教えてください。 対象データ(2種類のデータ混じっている)があり、文字1(A列)、文字2(B列)が重複する行を削除するエクセルVBAを教えて下さい。 ●対象データ:文字1(A列)、文字2(B列)、種類 (C列) データの行数:不特定なので、データのある最終行までとします。 ●教えていただきたい項目 文字1(A列)と文字2(B列)がどちらも同じ場合は、1行消して、種類のセルを空白にする。 文字1(A列)が同じ文字2(B列)が違う場合は、2行ともそのまま残し、種類のセルもそのまま残す。 文字2(B列)が同じ文字1(A列)が違う場合は、2行ともそのまま残し、種類のセルもそのまま残す。 ●対象データ 文字1(A列)  文字2(B列)   種類 (C列)          あああ      朝朝朝朝          いいい      朝朝朝朝          いいい      夜夜夜夜          いうえ       夜夜夜夜 BB       おおお      朝朝朝朝 BB       おおお      夜夜夜夜 CC       かかか      朝朝朝朝 CC       ききき      夜夜夜夜 DD       くくく        朝朝朝朝 EE        くくく        夜夜夜夜 ●VBAの結果(このようになるVBAを教えてください。) 文字1(A列) 文字2(B列) 種類 (C列)             あああ     朝朝朝朝             いいい                  いうえ      夜夜夜夜 BB          おおお      CC          かかか     朝朝朝朝 CC          ききき      夜夜夜夜 DD          くくく        朝朝朝朝 EE          くくく        夜夜夜夜 ※              いいい           →「朝朝朝朝」のみ削除             いいい      夜夜夜夜→行削除 BB          おおお            →「朝朝朝朝」のみ削除 BB          おおお      夜夜夜夜→行削除

  • VBAでファイルを消したい

    こんばんわ! VBAでエクセルファイルをバックアップしながら使用しているのですが、10個以上ファイルが溜まったら一番古いものを消したいです。 途中まではできているのですが、古いファイルを選択する方法が分かりませんToT 途中までのソースを乗せますので、アドバイスの程よろしくお願いいたします。 ================== Private Sub backup_bot_Click() Dim Path As String, WSH As Variant Dim fc As Long Dim fn As String 'マイドキュメントにバックアップ Set WSH = CreateObject("WScript.Shell") Path = WSH.SpecialFolders("MyDocuments") & "\test" If Dir(Path, vbDirectory) = "" Then MkDir (Path) End If 'ファイルコピー FileCopy "c:test_date\aaa.xls", Path & "\aaa" & Format(Now, "yyyymmdd") & ".xls" 'ファイル数確認 fn = Dir(Path & "\aaa*.xls") Do While fn <> "" fc = fc + 1 fn = Dir() Loop '10件以上消去 If fc > 10 Then 'ここが分かりません! End If End Sub ================== あ~ちなみにoffice2003エクセルを使用しています。 XP以降のOSで動かしたいです!

  • SQLの書き方

    当事業所の健康診断管理をVB.Netで行おうとしています 下記ののようなDB内容で『c』のみ検査するスタッフを抽出するSQLはどのようになりますか? フィールド:社員ID、名前、検査種別        0001、中川、A        0001、中川、B        0001、中川、C        0002、木村、A        0002、木村、C        0003、大野、C        0004、田中、A        0004、田中、C        0005、山田、A        0005、山田、B 抽出後は『0003、大野、C』としたいのですが… なかなかいいアイデアがでてきません 独学で勉強しているのですが、うまく処理させることができません (かなりの遠回りでなら処理可能なんですが:汗) ご教授お願いします。