2017-07-13 35 views
7

私は夜間に切り取ったコードに問題があります。これにはいくつかの特徴がありますので、できる限り詳細に説明しようと思います。VBA 'set typelib = createobject( "scriptlet.typelib")'アクセス許可が拒否されました

問題のファイルは、渡されたデータからxmlファイルを生成するExcelブックです。マクロを使用してファイルが開かれ、読み込まれ、保存され、このセクションはうまく動作します。

このルーチンでは、.xmlファイルのGUIDを作成するときに問題が発生します。

Function GenGUID() As String 

Dim strGUID As String 
Dim TypeLib As Object 

Set TypeLib = CreateObject("Scriptlet.TypeLib") 
strGUID = TypeLib.guid 

'dump the curly brackets 
strGUID = Replace(strGUID, "{", "") 
strGUID = Replace(strGUID, "}", "") 

strGUID = Left(strGUID, Len(strGUID) - 2) 

GenGUID = strGUID 

End Function 

具体的には、ライン:

Set TypeLib = CreateObject("Scriptlet.TypeLib") 

これは、「ランタイムエラー70をスロー:アクセス許可が拒否されました"

今、特色です。

  • ファイルが試された4台のマシンのうち、1台で動作します。
  • 'working'マシンのユーザーは、他の3台のマシンでこのファイルを実行しようとしていません。
  • 3台の「故障した」マシンのうち、2台には一晩更新がインストールされていて、もう1台は数日でアップデートがインストールされていませんでした。 '働いている'マシンは2月以来アップデートをインストールしていません。
  • 管理者アカウントでファイルを実行しようとすると、一晩のアクセス許可の更新が除外されました。
  • ファイルは壊れたマシンの1つで昨日正常に実行されました(2017年7月12日)。
  • すべての参照ライブラリがチェックされており、それらが「稼働中」のマシンと一致しています。
  • 4台のマシンすべてで使用されているExcelバージョンは2013 Proです。

上記の点が更新の問題です。しかし、昨日ファイルが正常に実行されたマシンは、一晩更新されていない「壊れた」マシンで、これを排除していました。

私たちは、私たちが考えているすべてのものを試してみました。また、多くのインターネットトリーで答えを得ました。すべては何も出てこない。

誰にもアイデアはありますか?

ご協力いただきありがとうございます。

+0

同じことがまさに今日私に起こりました。 –

+5

私もこの問題があります。私はscriplet.typelibを使用しないGUID生成用の代替コードを見つけました(このアップデートをロールバックする必要はありません):[http://www.cpearson.com/excel/CreateGUID.aspx](http:// www.cpearson.com/excel/CreateGUID.aspx)正常に動作するように見えます。それを使わない理由は何ですか? –

+0

@AlexBloom、この代替案はOffice 2013では使用できません – juanmah

答えて

0

今朝もこの問題が発生しました。

WindowsのアップデートKB3213624を削除してください。それはエラーを解決しました。

0

これで問題は解決しました。

これは明らかに更新によって発生しました。すべての '壊れた'マシンのアップデートの最後のバッチをロールバックした後、現在は4つの '動作中の'マシンがあります。

+0

Windows 10がその更新プログラムを再起動したら、どうしますか?私はこの同じ問題を抱えていますが、私はWindowsがそれを再インストールすることを決定するたびに更新をロールバックするサイクルで終わるつもりです。 – am21

2

KB3213624はOffice 2010のセキュリティ更新プログラムのようです。以下は、MS Officeの他のバージョンのKBです:

Microsoft Office 2013 Service Pack 1 (64-bit editions)  3213555 
Microsoft Office 2013 Service Pack 1 (32-bit editions)  3213555 
Microsoft Office 2007 Service Pack 3      3213640 
Microsoft Office 2016 (32-bit edition)      3213545 
Microsoft Office 2010 Service Pack 2 (32-bit editions)  3213624 
Microsoft Office 2010 Service Pack 2 (64-bit editions)  3213624 
Microsoft Office 2013 RT Service Pack 1      3213555 
Microsoft Office 2016 (64-bit edition)      3213545 
+0

ありがとう! KB3213555のセキュリティ更新プログラムでVBA機能がブロックされました。 – prog3712

関連する問題