【#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
某社担当,今日はお休みらしいので
明日,対応検討しますー
コメント
【#RUANG】インドネシア:ルアング山で火山が大規模噴火:愛媛で震度6弱な緊急地震速報(24/4/18)
イオンモール宮崎の辺りにイノシシが登場した,らしい
コンビニ誤交付、富士通に行政指導 原因究明と再発防止を要求―総務省
【#桜】花立公園で桜見物してきた!都井岬まで足を伸ばした!遠かった(爆
【#大谷翔平】水原一平氏、米連邦検察が銀行詐欺容疑で訴追…大谷翔平選手の口座から24億5千万円以上を不正送金
【#緊急地震速報】宮崎県日南市で震度5弱 津波の心配なし M5.2(24/2/8)
ずっと天気が悪いのぉ.菜種梅雨とはよく言ったものやじ(24/4/5)
【#暴風警報】宮崎市に暴風警報発令(24/3/26)