【#VBA】CreateObject(“Scriptlet.TypeLib”).GUIDで「70 書き込みできません」エラー
関連記事
- VBAなお仕事中 【2017年06月13日(火)】
- Excel-COM&Outlook-COMな仕事,一山越えた 【2017年05月19日(金)】
- 最近,全力でモノ作り中 【2017年05月19日(金)】
- 【C#,Excel-COM】ExcelアドインをC#使って自動登録/解除 【2014年07月01日(火)】
- Excel-VBA なんか慣れた(爆 「リボンへのマクロの自動登録機構」も作りこんだ 【2014年06月25日(水)】
某社に出しているVBAマクロが,エラー吐いて,起動できなくなった言うてる
あれ?なんじゃろか??
某社の社内システム,セキュリティがきついし
また,社内セキュリティ仕様が変わったかね?(これで対応コードを何度か変更した)
とりあえず,思いつくまま対応メールした
んで,別の仕事やろうと思ってたけど,なんか引っかかって,ディープに調べてみた
驚愕の事実,判明((((;゚Д゚))))ガクガクブルブル
KB3213624をWindows Update当てると,”Scriptlet.TypeLib” COMの仕様変わって
実行時エラー ’70’: アクセスが拒否されました
が出るそうな
GUID – Run-time error ’70’ permission denied @Microsoft
2017 年 7 月のセキュリティ更新適用後、VBA から一部のオブジェクトを作成できません@Microsoft
CreateObject("Scriptlet.TypeLib").GUIDこれ,使いまくり...
。・゚・(ノД`)・゚・。
MSさん,仕様変えるなよぉ~~
このコードに変えれば,大丈夫っぽい?(未検証)
Private Type GUID_TYPE Data1 As Long Data2 As Integer Data3 As Integer Data4(7) As Byte End Type Private Declare PtrSafe Function CoCreateGuid Lib “ole32.dll” (Guid As GUID_TYPE) As LongPtr Private Declare PtrSafe Function StringFromGUID2 Lib "ole32.dll" (Guid As GUID_TYPE, ByVal lpStrGuid As LongPtr, ByVal cbMax As Long) As LongPtr Function CreateGuidString() Dim guid As GUID_TYPE Dim strGuid As String Dim retValue As LongPtr Const guidLength As Long = 39 'registry GUID format with null terminator {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} retValue = CoCreateGuid(guid) If retValue = 0 Then strGuid = String$(guidLength, vbNullChar) retValue = StringFromGUID2(guid, StrPtr(strGuid), guidLength) If retValue = guidLength Then ‘ valid GUID as a string CreateGuidString = strGuid End If End if End Function
某社担当,今日はお休みらしいので
明日,対応検討しますー
コメント
【地震】日向灘でM4.4の地震
【#第三次世界大戦】ウクライナ空軍 “ICBM1発がロシア南部から発射された”
司法省 “グーグルはクローム売却を” 裁判所に要求へ 米報道
最近,仕事がずっと激しい...ドロドロドロ
今日は謎の宴会らしい...スーツが入るのかっ!?(GRB爆
「侍ジャパン」宮崎県入り 「プレミア12」向け きょうから合宿
【#総選挙】 衆議院選挙 きょう投票 ...ドロドロドロ(24/10/27)
【#線状降水帯】宮崎 延岡「土砂崩れで家がつぶれている」通報 1人不明(24/10/23)
【冬】お~日本海に筋雲が出ちょる!冬がキター
【#寒冷前線】13時頃30℃の気温が今は25℃無いぞー