2016-10-12 8 views
0

(ExcelおよびMac用パワーポイント2011)エクセルVBAで働く障害が発生した細かい

私はパワーポイントを開き、マクロを実行し、Excelのマクロを持っています。 私はパワーポイントのマクロを実行すると、直接それが正常に動作しますが、私はエクセルマクロ呼び出しからそれを実行した場合、それは「68」実行時エラーで失敗します。

Dim strfilee As String 


mydir = ":tmp" 
strpath = mydir & ":" 
strfilee = Dir(strpath) <--- Failing on this line 


''''Loop through each file in the folder to find the one with the OS parameters 

    i = 0 

    Do While Len(strfilee) > 0 
    cellplace = "A" & i 

     If Right(strfilee, 11) = "params.pptx" Then 
     lspace = InStr(1, strfilee, "_", vbTextCompare) 
     target_name = Trim(Left(strfilee, lspace - 1)) 
     sc_file_name = "tmp" & ":" & strfilee 

       With ActivePresentation 
        number_slides = .Slides(.Slides.Count).SlideNumber 
        End With 
       ActivePresentation.Slides.InsertFromFile sc_file_name, number_slides 


     End If 
     strfilee = Dir 
     i = i + 1 

    Loop 
+0

パス変数が ":tmp:"に設定されています。どちらの場合でも、どのように動作するかはわかりません。例えば、ローカルドライブの参照でなければならない。 "C:\ tmp \"または "\\ myServer \ tmp \"などのネットワーク上の場所。 MSDNによると、Dir関数は、 "ファイル名、ディレクトリまたはフォルダ名、またはドライブボリュームラベルを指定する文字列式"としてPathNameパラメータをとります。 –

+0

こんにちはJamieG、お返事ありがとうございます。 :tmpは、プレゼンテーションが置かれている実際のフォルダ内のtmpフォルダへの参照に過ぎません。これが根本的な原因であるかどうかを確認するために、グローバルなものに変更しようとします。ありがとう! – Diego

+0

問題を修正しました。 Powerpoint上でマクロを直接実行すると、相対パス ":tmp:"は正常に動作します。 powerpointマクロをexcelから呼び出す場合は、グローバルルート(activepresentation.path $ ":tmp:" – Diego

答えて

0

それは、このループの前にあります使用できないデバイス

Dir機能を使用する場合は、完全修飾パスを使用してください。

関連する問題