Movatterモバイル変換


[0]ホーム

URL:


BLOGTIMES

cles::blog

平常心是道
»ArchiveList (Tag for "VB" )
«Prev ||1 ·| Next»
2022/02/27

Excel のマクロが動かない?

excel  VB  antivirus 
セキュリティに影響を及ぼす可能性のある問題点が検知されました。 - Excel のマクロが動かない?

仕事で使っていた Excel のマクロを起動すると「セキュリティに影響を及ぼす可能性のある問題点が検知されました」というメッセージと共に、Excel が強制終了されるようになってしまったので、マクロの内容を見直してみました。

10数行程度の短いマクロですが、どうやらアンチウィルスの振る舞い検知に引っかかってしまったようです。

怪しいのはWscript.Shell 経由でブラウザを開く処理なので、この部分をShell 経由でfirefox.exe(僕の標準のブラウザ)を直接呼出すように変更してみたところ、うまく動くようになりました。逆にこれだけでアンチウィルスをすり抜けられるのもかなり謎ですね。

CreateObject("Wscript.Shell").Run("https://www.google.com/")

Shell "C:\Program Files\Mozilla Firefox\firefox.exe https://www.google.com/"

Visual Studio 2019 で Hello World を作ってアンチウィルスにひっかかった時もそうでしたが、こういうアンチウィルス系の誤動作は対処が面倒で困ります。


    at 23:57 |
    2020/01/20

    Excel VBA で JSON が扱いたいときは VBA-JSON が便利

    VB  excel 

    VBA で JSON を扱うことができる VBA-JSON が便利だったのでメモ。

    VBA-tools/VBA-JSON: JSON conversion and parsing for VBA

    JSON conversion and parsing for VBA (Windows and Mac Excel, Access, and other Office applications). It grew out of the excellent project vba-json, with additions and improvements made to resolve bugs and improve performance (as part of VBA-Web).

    今回はサンプルとしてopenBD の API を叩いて、ISBN から書名、著者名、出版日、出版社名、価格を取得するコードを書いてみました。
    以下のように非常にシンプルなコードで実現できます。
    実行方法は適当なセルに ISBN を入力し、その範囲を選択した状態でマクロを実行するだけです。日本語も問題なく取れていますね。

    VBA-JSON で書籍情報を取得 - Excel VBA で JSON が扱いたいときは VBA-JSON が便利

    Option ExplicitSub Main() Dim i As Long Dim c As Range For i = Selection(1).row To Selection(Selection.Count).row Set c = Selection(1).Offset(i - 1, 0) If c.Value = "" Then Exit For Else Search c.Value, c End If Next For i = 0 To 5 c.Offset(0, i).EntireColumn.AutoFit NextEnd SubSub Search(ISBN As String, cell As Range) If Not ISBN = "" Then Dim jsonObj As Object Dim Url As String Dim Json As String Url = "https://api.openbd.jp/v1/get?isbn=" & ISBN Json = GetContents(Url) Set jsonObj = JsonConverter.ParseJson(Json) If jsonObj.Count > 0 Then 'タイトル Dim title As String title = jsonObj(1)("summary")("title") cell.Offset(0, 1) = title '著者 Dim author As String author = jsonObj(1)("summary")("author") cell.Offset(0, 2) = author '出版日 Dim pubdate As String pubdate = jsonObj(1)("summary")("pubdate") cell.Offset(0, 3) = pubdate ' 出版社 Dim publisher As String publisher = jsonObj(1)("summary")("publisher") cell.Offset(0, 4) = publisher ' 価格 On Error GoTo Catch Dim price As Integer price = jsonObj(1)("onix")("ProductSupply")("SupplyDetail")("Price")(1)("PriceAmount") cell.Offset(0, 5) = priceCatch: End If End IfEnd SubFunction GetContents(Url As String) As String Dim XmlHttp As Object Set XmlHttp = CreateObject("MSXML2.XMLHTTP") XmlHttp.Open "GET", Url, False XmlHttp.Send GetContents = XmlHttp.ResponseTextEnd Function

      at 23:55 |
      2019/08/18

      VB のアプリで「プロシージャの呼び出し、または引数が不正です。」

      VB  vbs  windows10 

      少し前から VBA で書いたマクロを動かそうとすると「プロシージャの呼び出し、または引数が不正です。」というエラーが出るようになってしまって困っていたのですが、どうもこれは今月の Windows Update のバグを踏んでしまっていた模様。

      おとなしくアップデートを待てば良いみたいですが、この手の定例外パッチは最新版の Windows へのリリースが一番遅いのはなぜなんでしょうね。

      2019年8月の月例更新プログラムに問題、VB6/VBA/VBScriptアプリ・マクロが応答不能に - 窓の杜

      「Visual Basic 6(VB6)」で作成したアプリケーションや「Visual Basic for Applications(VBA)」で作成したマクロ、「Visual Basic Scripting Edition(VBScript)」で作成したマクロやアプリケーションが応答しなくなり、“invalid procedure call error.”というエラーが発生することがあるという。


        at 15:55 |
        2019/08/04

        Excel のマクロで PDF 保存する

        excel  VB 

        Excel のシートをマクロから PDF 出力する方法がないかと思って調べてみたら、簡単に実現できることが分かったのでメモ。
        考えたら最近の MS Office は Acrobat などがなくても PDF 出力できるようになっていますからね。

        サンプルコード

        以下のマクロを使うと、アクティブなシートをデスクトップに hoge.pdf という名前で出力します。

        Dim WSH As VariantDim SavePath As StringSet WSH = CreateObject("WScript.Shell")SavePath = WSH.SpecialFolders("Desktop") & "\hoge.pdf"ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=SavePath

          at 18:05 |
          2006/10/20

          MS Accessでクエリの一括実行 その2

          VB  msaccess 

          その昔、「MS Accessでクエリの一括実行」というエントリを書いたことがありました。でも、これは僕はVBが全く使えなかったためなんですが、そんな僕のエントリを見て、VBAを作ってくださった方がいました。

          [MS Accessでクエリの一括実行 その2 の続きを読む]

            at 21:08 |
            «Prev ||1 ·| Next»
            »ArchiveList (Tag for "VB" )
            Copyright © 2004-2023 by CLES All Rights Reserved.
            サイト内検索
            検索ワードランキング
            貸金庫 審査
            銀行で貸金庫を借りてみた
            Photo
            ポスチャーフィット部品検査着ポテトなど生レモン尽くしスカッシュ正常に受付が完了しました財産債務調書バレット食道2024 年度 基盤研究(C)(一般) blog.cles.jpCelestica Seastone DX010ポスチャーフィットの割れ母子健康手帳 省令様式アーロンチェアのワイヤー新型コロナワクチン接種証明書アプリ冥銭
            へぇが多いエントリ
            閲覧数が多いエントリ
            1 .アーロンチェアのポスチャーフィットを修理(99696)
            2 .年次の人間ドックへ(99104)
            3 .福岡銀がデマの投稿者への刑事告訴を検討中(99097)
            4 .三菱鉛筆がラミーを買収(98703)
            5 .2023 年分の確定申告完了!(1つめ)(98675)
            最新のエントリ
            cles::blogについて
            誰が書いてる?
            最近行った場所
            サイトポリシー
            タグ一覧
            検索ワードランキング

            カテゴリ別エントリ
            Referrers

              Powered by CLES
              Nucleus CMS v3.31SP3/w memcached
              21376048(W:6673 Y:1720 T:0147)
              cles::blogのはてなブックマーク数
              benchmark


              [8]ページ先頭

              ©2009-2025 Movatter.jp