KenKen_SP の回答履歴

全2246件中21~40件表示
  • 【Excel VBA】 WorksheetやRangeオブジェクトとして宣言した変数の開放は必要でしょうか?

    こんばんは。 プロシージャレベルで宣言したWorksheetやRangeなどのオブジェクト変数に対し、 プロシージャを終了する直前に、 Set ○=Nothing を実行して、変数(オブジェクトへの参照)を開放する処理を習慣的行っていました。 これは、絶対に必要な処理なのでしょうか? 開放しないことで不具合が出るケースとはどういう場合なのでしょうか? どなたか、ご教示いただけないでしょうか。 よろしくお願いいたします。 <例> Sub test()   Dim Ws1 As Worksheet      Set Ws1 = Worksheets("Sheet1")   '処理内容      Set Ws1 = Nothing End Sub 尚、CreateObject関数で作成したオブジェクトへの参照などではなく、 あくまでもWorksheetやRangeなどの話です。

  • Accessでのマウスホイールの無効化

     Access初心者です。  特定のフォームでマウスのホイールの動作を受付けなくしたく、 下記URLを参考にVBEにコードを貼り付けてみましたが、うまく 動きません。 http://www.accessclub.jp/bbs2/0027/beginter08905.html  VBE上でコンパイルすると、メッセージウィンドウが開き、 コンパイルエラー:  SubまたはFunctionの属性が適切ではありません。 と表示され、同時に、該当するフォームのVBAコードに追加で 貼り付けたコードのうち  WithEvents clsMouseWheel As CMouseWheel の部分が反転表示されます。   とりあえずOKとして、VBEを閉じ、再度プログラムを実行 させ、該当のフォームを開いてみても、やはり   イベントプロパティに指定した指揮 読み込み時 でエラーが発生 しました:SubまたはFunctionの属性が適切ではありません。 が表示されてしまい、うまく動きません。  どのようにすれば良いでしょうか?  コードの貼り付ける位置が間違っている等でしょうか?  どなたか教えてください、よろしくお願い致します。 以上

  • ExcelVBAで『ByRef 引数の型が一致しません』が発生する場合と発生しない場合がある

    こんばんは。 何故このような現象が発生するか判らず、 質問致します。 環境は ・WindowsXP Professional ・Excel2003 ・ExcelVBA ・参照設定:Microsoft DAO 3.6 Object Library です。 下記は抜粋した内容ですが、 レコードセットを配列で宣言し、 関数に配列として受け渡しています。 プログラムを作成途中、テストとして実行した所、 「Call test(dbWS, dbWB, dbRes)」 のdbResの所が黄色になり 「ByRef 引数の型が一致しません」 と表示されました。 初めて発生するまでは問題なく動いており、 そこに関するソースの変更をしたわけではないのに発生しました。 また、ソースを変更せず、Excelのシートの追加や削除を行った後、コンパイルを行うと発生したりもします。 その他、そのコンパイルエラーが発生した後に、ファイルを保存し、再度開くと、 再び同じエラーが出る場合と、出ない場合があり、再現性が難しい状態にあります。 色々試したところ、レコードセットを配列で関数に渡さなければ問題がなさそうで、 現在はdbWS、dbWB、dbRes(2)をグローバル変数で宣言し、 関数の引数としては受け渡さず、直接グローバル変数で値を受け渡す回避方法を取っております。 何かこの現象についてご存知の方がいれば教えて頂きたいと思います。 不足している情報がありましたら指摘下さい。 --------------------------------- Sub main()   Dim dbWS As Workspace   Dim dbWB As Database   Dim dbRes(2) As Recordset   '処理   Call test(dbWS, dbWB, dbRes) End Sub --------------------------------- Private Function test(ByRef dbWS As Workspace, ByRef dbWB As Database, ByRef dbRes() As Recordset)   '処理 End Function ---------------------------------

  • EXCELVBAでYAHOOの検索結果をスクレイピングしたい

    特定のキーワードでyahoo検索を実行し 検索結果から、TITLE・description・URLを抜き取りたいのですが もし、可能であれば、サンプルコードを記載頂けると幸いです。 宜しくお願いします。

  • EXCELVBAでYAHOOの検索結果をスクレイピングしたい

    特定のキーワードでyahoo検索を実行し 検索結果から、TITLE・description・URLを抜き取りたいのですが もし、可能であれば、サンプルコードを記載頂けると幸いです。 宜しくお願いします。

  • EXCELVBAでYAHOOの検索結果をスクレイピングしたい

    特定のキーワードでyahoo検索を実行し 検索結果から、TITLE・description・URLを抜き取りたいのですが もし、可能であれば、サンプルコードを記載頂けると幸いです。 宜しくお願いします。

  • WordVBA 行の削除

    Word上に挿入した表中でに記載されている文章での選択している行の削除を行いたいと考えています。 With Selection .StartOf wdLine .EndOf wdLine, wdExtend .Delete End With 上記のプログラムで、途中の行は期待通りに削除されます。 しかし、表のセル中の最終行を選択した状態で上記を実行すると、セル内が全て選択され、消えてしまいます。 最終行を選択した状態では、最終行のみを削除したいのですが、どのように指定すればよいでしょうか? 使用している環境はWord2003です。 教えてください。よろしくお願いいたします。

  • WordVBA 行の削除

    Word上に挿入した表中でに記載されている文章での選択している行の削除を行いたいと考えています。 With Selection .StartOf wdLine .EndOf wdLine, wdExtend .Delete End With 上記のプログラムで、途中の行は期待通りに削除されます。 しかし、表のセル中の最終行を選択した状態で上記を実行すると、セル内が全て選択され、消えてしまいます。 最終行を選択した状態では、最終行のみを削除したいのですが、どのように指定すればよいでしょうか? 使用している環境はWord2003です。 教えてください。よろしくお願いいたします。

  • 画像ファイルの暗号・復号化

    ゲームを作っているのですが、それに使う画像ファイルを暗号化したいです。 むき出しのままだと、所謂ネタバレ的なCGも簡単に見れてしまうので……。 自分の知識では、せいぜい拡張子を変えて誤魔化すぐらいしか出来ません。 ただ、それでは流石にみすぼらしいというか……。 分かる人なら簡単に解けてしまうようなもので構いませんので 教えて頂ければ幸いです。 ちなみに、JPEGとPNGファイルの暗号・復号化です。

  • 計算結果で音が鳴らず困っています、、

    こちらで、ご教授してもらったものを使わせて頂いているのですが、 どうしてもうまくいかないことが出て、行き詰まってしまい、、、 皆さん、度々すいませんが手助けできましたらお願いします。 エクセルのセルの結果表示のところで、 在庫追加となったら音がなるようにしたいのですが、 手打ち(コピペなど)で結果表示の所に (例えばA3に)ブドウ追加と入れると指定した音が鳴ります。 ですが、結果表示の所は関数にしてて 計算結果によって(ブドウ追加って答えが出たら) 音が鳴るようにしたいのですが、音が鳴らなくて困っています。 A1の所が、ブドウ注文数4個になると、A3は"在庫あり"から"ブドウ追加"となるので 音が鳴るはずなんですが、鳴らないんです、、、 また、複数同時に結果表示が変わっても(ブドウ追加とバナナ追加が同時に起こっても)音が鳴るようにしたいのですが、少しイジるも、うまくいかず、やれるのかどうかもわかっていません。 Excel2003のBOOK1の中で セル A1 ブドウ注文数2個 A2 ブドウ在庫数3個 A3 =IF(A1>A2,"ブドウ追加","在庫あり")(←結果表示) A5 バナナ注文数2個 A6 バナナ在庫数3個 A7 =IF(A5>A6,"バナナ追加","在庫あり")(←結果表示) A9 トマト注文数2個 A10 トマト在庫数3個 A11 =IF(A9>A10,"トマト追加","在庫あり")(←結果表示) A13 ミカンなど続いていきます・・・。 A14 ・・・・・・・ A15 ・・・・・・・ ----------↓現在、教えてもらったものを少しイジった状態です↓--------- 1.標準モジュールに Public Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long 2.シートモジュールのchangeイベントに Private Sub Worksheet_Change(ByVal Target As Range)   With Target     '一度に複数のセルの値が変化した時はExit     If .Count > 0 Then Exit Sub     '変化したセルがA3,A7,A11の範囲に無ければExit     If Intersect(.Cells, Range("A3,A7,A11")) Is Nothing Then Exit Sub     Select Case True       Case .Value Like "*ブドウ追加*"         Shell "mplay32.exe /play /close c:\サウンド\ブドウ.wav"       Case .Value Like "*バナナ追加*"         Shell "mplay32.exe /play /close c:\サウンド\バナナ.wav"       Case .Value Like "*トマト追加*"         Shell "mplay32.exe /play /close c:\サウンド\トマト.wav"       End Select     End With End Sub

  • irvineを利用してVBAからダウンロード

    irvineを利用してターゲットの保存フォルダにダウンロードデータを入れたいだけなのですがどうやったらいいかわかりません。 保存フォルダ c:\保存フォルダ\ 対象ファイル 1.jpg~9.jpg 対象URL http://hogehoge.com/ Set shell = CreateObject("WScript.Shell") for i=1 to 9 Call shell.Run(Chr$(34) & "c:\irvine\irvine.exe" & Chr$(34) & " http://hogehoge.com/" & str(i) & ".jpg") next i ...しかし、どこで保存フォルダを設定するのやら、という感じです。 参照のサイトも見たのですが、意味がわかりません。 http://hp.vector.co.jp/authors/VA024591/doc/api.txt 保存場所を指定してダウンロードする、このやり方をシンプルに教えてください。 出来れば、ジョブが終わったか否かも確認できたらうれしいです。 参照サイト http://q.hatena.ne.jp/1159035157 なんとなくActiveXを使うとわかったのですが、フォルダの指定とか どれなのかさっぱりわからないです。 なにとぞお力添えお願いします

  • VBAの配列について

    VBAの配列について質問があります。 以下のような配列Aと配列Bがあったとします。 やりたいことは、配列Cを作成して、配列Aと配列Bを結合したいです。 ----------------------------------------- Dim 配列A(3) 配列A(0) = 10 配列A(1) = 11 配列A(2) = 12 Dim 配列B(3) 配列B(0) = 100 配列B(1) = 110 配列B(2) = 120 ---------------------------------------- Dim 配列C(6) 配列A(0) = 10 配列A(1) = 11 配列A(2) = 12 配列A(3) = 100 配列A(4) = 110 配列A(5) = 120 ---------------------------------------- 配列Cを作るために、配列Aを拡張して、配列Bを挿入すれば可能 でありますが、関数のようなもので簡単に表現できないもので しょうか? 何かご存知でしたが、ご教授願います。

  • irvineを利用してVBAからダウンロード

    irvineを利用してターゲットの保存フォルダにダウンロードデータを入れたいだけなのですがどうやったらいいかわかりません。 保存フォルダ c:\保存フォルダ\ 対象ファイル 1.jpg~9.jpg 対象URL http://hogehoge.com/ Set shell = CreateObject("WScript.Shell") for i=1 to 9 Call shell.Run(Chr$(34) & "c:\irvine\irvine.exe" & Chr$(34) & " http://hogehoge.com/" & str(i) & ".jpg") next i ...しかし、どこで保存フォルダを設定するのやら、という感じです。 参照のサイトも見たのですが、意味がわかりません。 http://hp.vector.co.jp/authors/VA024591/doc/api.txt 保存場所を指定してダウンロードする、このやり方をシンプルに教えてください。 出来れば、ジョブが終わったか否かも確認できたらうれしいです。 参照サイト http://q.hatena.ne.jp/1159035157 なんとなくActiveXを使うとわかったのですが、フォルダの指定とか どれなのかさっぱりわからないです。 なにとぞお力添えお願いします

  • 構造体の配列変数の順番入れ替え

    宜しくお願いします。 第1回~第30回までの回の日付・担当者・詳細・もろもろ…のデータがあり、今、構造体の配列変数にデータを入れています。 '宣言 Option Base 1 Dim Kai(30) as sData type sData  hiduke as date  tanto as string  shosai as string  ・  ・  ・ end type '中身 for i = 1 to 30  kai(i).hiduke=rs.field("第" & i & "回目日付")  kai(i).tanto=rs.field("第" & i & "回目担当者")  kai(i).shosai=rs.field("第" & i & "回目詳細")  ・  ・  ・ next これは出来たのですが、実は日付がばらばらなのです。 第1回目が古い日付で第30回目が最新の日付 ではなく ランダムなのです。 これを、配列変数に入れた後に hiduke の所を見て、kai(1)が一番古い日付のデータ、kai(30)が一番新しいデータと効率よく入れ替えるのはどうしたら良いか悩んでいます。 ちなみに第30回まで全部埋まっている訳でもなく、空欄の時もあります。 分かる方いらっしゃいましたら宜しくお願い致します。

  • URLDownloadToFile でダウンロード不可

    Access2003のVBAでIEを立ち上げて、あるサイトにログインした後、 サイトのメニュー上にあるCSVダウンロードをキックしてファイルを ダウンロードしようとしてます。 下記のようなコードを書いて見ましたが、表向きエラーは出ないものの ファイルのダウンロードは出来ません。 ブラウザ立ち上げ→ログインまではうまくいっています。 さらに詳細に調べると、URLDownloadToFileのところでエラーを 返していて失敗しているということが判明しました。 エラーコードは-2146697208となっています。 こちら何が問題でしょうか?どなたかご教示いただけると助かります。 Sub ie_test() Dim objIE As Object Const strURL = "https://xxx.com/csv.php?command=Csv" Dim strFNAME As String Dim returnValue Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "https://xxx.com/" Do While objIE.Busy = True DoEvents Loop objIE.Document.Forms(0).loginid.Value = "myname" 'ユーザー名 objIE.Document.Forms(0).passwd.Value = "pswd" 'パスワード 'フォームをSubmitする objIE.Document.Forms(0).submit Do While objIE.Busy Or (objIE.ReadyState <> 4): DoEvents: Loop 'READYSTATE_COMPLETE=4 'URLDownloadToFile API をコールする strFNAME = "c:\test.csv" returnValue = URLDownloadToFile(0, strURL, strFNAME, 0, 0) objIE.Quit '.Quitで閉じる End Sub

  • エクセルVBA ラベル表示/非表示の切替速度

    質問失礼します。 エクセル2003でラベル(コントロールツール)を作成し、 ラベルの表示/非表示を別に作成したボタンを押すたびに 切り替えるマクロを作成しています。 一応、自分で作成したものは動作するのですが、余りにも処理が遅いです。 (ボタンを押下後、処理が完了するまでに8秒前後かかります。) 『この場合はこうした方がいい』や『こうすれば早くなる』、または『それが限界』などの ご意見があれば、ご返答お願い致します。 ※ラベルは1グループ18個のa・b・cの3グループで合計54個あります。 ※ラベルのオブジェクト名はa1・a2・a3・・・という規則性でつけています。 <作成例> Private Sub button1_Click() Dim test As Boolean If a1.Visible Then test = False Else test = True End If With ActiveSheet For i = 1 To 18 Step 1 .OLEObjects("a" & i).Visible = test .OLEObjects("b" & i).Visible = test .OLEObjects("c" & i).Visible = test Next i End With End Sub

  • 日付の表示を変えるマクロ

    閲覧ありがとうございます。 Excelのマクロに関しての質問です。 今、テキストデータから「東京都・晴れ」を含む行をExcelファイルに抽出後、そのデータを日付別にふり分けるマクロを作っています。 そこで、テキストデータの日付の表示「11/8/2009」(2009年8月11日)や「8/9/2009」(2009年9月8日)を「2009/8/11」「2009/9/8」のように、年・月・日という表示に変えたいのですが、検索しても色々試しても良いマクロが浮かびません。 よろしければ素敵なマクロ、ご教授願います。 ※ちなみに、入力規則などを指定してもテキストからデータを引っ張ってきているため(?)か上手くいきません。

  • VBScriptでHTMLを生成しJPG画像を表示させるには?

    いつもありがとうございます。 早速質問ですが,職場での周知用に,vbsでHTMLを生成し, ファイルサーバにある画像(JPG)を取得して,HTMLに埋め込もうとしています。 具体的には以下のとおり表示させようとしていて,XP+IE6だとうまくいくのですが,Vista+IE7だと画像が表示されません。 (生成されたHTMLファイル自体は,画像が表示されます。  VBSで一連の流れにした場合のみ表示できないようです。) つたない文章で申し訳ございませんが,Vista+IE7で表示させるため,お知恵をいただけませんでしょうか。 画像を他部署で作成し,頻繁に更新するため,VBS自体はクライアントに置きっぱなしで,ファイルサーバの画像ファイルを差替えして運用したいと思っています。 --- sub Open_HTML(strImageFile) Dim objIE Dim objShell '初期設定(ウィンドウサイズ、表示位置に使用) WScript.Echo "html作成" & strImageFile 'IEオブジェクトを作成 Set objIE = CreateObject("InternetExplorer.Application") 'IEの画面を表示 objIE.Visible = True 'カラのページを表示 '(これを行わないと以降のdocument.writeなどがエラーになるため) objIE.Navigate "about:blank" 'HTMLを出力します objIE.Document.Write "<html>" & vbcrlf objIE.Document.Write "<head>" & vbcrlf objIE.Document.Write "<title>HTML画像挿入テスト</title>" & vbcrlf objIE.Document.Write "</head>" & vbcrlf objIE.Document.Write "<body>" & vbcrlf objIE.Document.Write "<table border=4 width=""100%"" height=""100%"">" & vbcrlf objIE.Document.Write "<tr>" & vbcrlf objIE.Document.Write "<td align=""center"" valign=""middle"">" & vbcrlf objIE.Document.Write "<IMG SRC=" & strImageFile & "> " & vbcrlf objIE.Document.Write "</td>" & vbcrlf objIE.Document.Write "</tr>" & vbcrlf objIE.Document.Write "</table>" & vbcrlf objIE.Document.Write "</body>" & vbcrlf objIE.Document.Write "</html>" & vbcrlf 'IEをアクティブに Set objShell = WScript.CreateObject("WScript.Shell") objShell.AppActivate("HTML画像挿入テスト - Microsoft Internet Explorer") objShell.AppActivate("HTML画像挿入テスト - Windows Internet Explorer") objIE.FullScreen = True '30秒表示 WScript.Sleep(30000) '画面のクリア objIE.Navigate "about:blank" 'IEの終了 objIE.Quit 'オブジェクトの破棄 Set objIE = Nothing Set objShell = Nothing end sub

  • 日付の表示を変えるマクロ

    閲覧ありがとうございます。 Excelのマクロに関しての質問です。 今、テキストデータから「東京都・晴れ」を含む行をExcelファイルに抽出後、そのデータを日付別にふり分けるマクロを作っています。 そこで、テキストデータの日付の表示「11/8/2009」(2009年8月11日)や「8/9/2009」(2009年9月8日)を「2009/8/11」「2009/9/8」のように、年・月・日という表示に変えたいのですが、検索しても色々試しても良いマクロが浮かびません。 よろしければ素敵なマクロ、ご教授願います。 ※ちなみに、入力規則などを指定してもテキストからデータを引っ張ってきているため(?)か上手くいきません。

  • VBAについて

    下記のAシートをBシートの様にまとめたいのですが・・。  <Aシート>   A列       B列 1  名前      数量   2 リンゴジュース  2    3 オレンジジュース 3    4 牛乳       1 <Bシート>   A列       B列 1  名前      数量   2 ジュース     5    3 牛乳       1  Select Case NAMAE  Case "リンゴジュース","オレンジジュース"  ・・・・ こんな感じでしょうか? 宜しくお願い致します。