GetRemoteFile メソッド(ActiveX)

URL で指定されたファイルをダウンロードします。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

object.GetRemoteFile URL, LocalFile, IgnoreCache
object

タイプ: Utility

このメソッドが適用されるオブジェクト。

URL

アクセス: 入力のみ

タイプ: 文字列

ダウンロードするファイルの URL。

LocalFile

アクセス: 出力のみ

タイプ: 文字列

指定した URL のファイル。

IgnoreCache

アクセス: 入力のみ

タイプ: ブール型

  • True: このセッションでファイルが既に転送済みであってもダウンロードします。
  • False: このセッションでファイルが既に転送済みの場合は、ダウンロードしません。

戻り値(RetVal)

戻り値はありません。

注意

現在または以前のセッション(キャッシュ)に、既にダウンロードしたファイルのリストがある場合、転送の重複を避け、ローカルで使用可能なファイルのコピーを作るのに有効です。IgnoreCache パラメータを True に設定することにより、明示的にダウンロードを強制することができます。この場合、キャッシュは完全に無視されます。

セキュア URL にアクセスするとき、パスワードの入力を求めるダイアログ ボックスが表示されます。このときに、メッセージ ボックスも表示されます(ブラウザでこの動作をオフにしていない場合)。

ファイルをダウンロードするときに内部処理用のテンポラリ ファイルが作成されます。このテンポラリ ファイルにはアクセスしないでください。このファイル内の情報は、AutoCAD セッションが終了する時点で削除されます。

VBA:

Sub Example_GetRemoteFile()
    ' This example will prompt the user for a URL to download and will verify that
    ' a proper URL was entered.  After downloading, the example will attempt to load
    ' the downloaded URL as a drawing.
    '
    ' * Note: Remember to delete the downloaded file from your disk drive when finished.
    
    Dim Utility As AcadUtility
    Dim URL As String, DestFile As String, FileURL As String
    
    Set Utility = ThisDrawing.Utility   ' Connect to Utility object
    
GETURL:
    ' Prompt user for a URL to download.  This should be a URL to an AutoCAD drawing file.
    URL = Utility.GetString(False, vbLf & "Enter the complete URL of the file you wish to download: ")
    
    URL = Trim(URL)                     ' Get rid of blank spaces
    
    If URL = "" Then Exit Sub           ' Did user cancel

    ' Determine if user entered a valid URL; if not, prompt again
    If Not (Utility.IsURL(URL)) Then
        MsgBox "The URL you entered is not valid.  Make sure the syntax is a valid URL."
        GoTo GETURL
    End If
        
    ' Download URL
    Utility.GetRemoteFile URL, DestFile, True
    
    ' Display downloaded file information
    MsgBox URL & " was downloaded to: " & DestFile
   
    ' Use IsRemoteFile to determine if this file was downloaded from a URL.
    ' If it was, display the URL it was downloaded from
    '
    ' * Note: Although the results that IsRemoteFile will return are already known
    ' since the file was just downloaded it is important to know how this
    ' method can be used.
    If Utility.IsRemoteFile(DestFile, FileURL) Then
        MsgBox "The file: " & DestFile & " is a downloaded file and was downloaded from: " & FileURL
    Else
        MsgBox "The file: " & DestFile & " is not a downloaded file."
    End If

End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_GetRemoteFile()
    ;; This example will prompt the user for a URL to download and will verify that
    ;; a proper URL was entered.  After downloading, the example will provide information
    ;; about the downloaded drawing.
    ;;
    ;; * Note: Remember to delete the downloaded file from your disk drive when finished.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    (setq Utility (vla-get-Utility doc))   ;; Connect to Utility object
    
    ;; Prompt user for a URL to download.  This should be a URL to an AutoCAD drawing file.
    (setq URL (vla-GetString Utility :vlax-false "\nEnter the complete URL of the file you wish to download: "))
  
    (if (/= URL "")
        (progn
	           (if (= (vla-IsURL Utility URL) :vlax-false)
	               (alert "The URL you entered is not valid.  Make sure the syntax is a valid URL.")
	               (progn
		                  ;; Download URL
		                  (vla-GetRemoteFile Utility URL 'DestFile :vlax-true)
		    
		                  ;; Display downloaded file information
		                  (alert (strcat URL " was downloaded to: " DestFile "\n"))

		                  ;; Use IsRemoteFile to determine if this file was downloaded from a URL.
	              	    ;; If it was, display the URL it was downloaded from
	              	    ;;
		                  ;; * Note: Although the results that IsRemoteFile will return are already known
		                  ;; since the file was just downloaded it is important to know how this
		                  ;; method can be used.
		                  (if (= (vla-IsRemoteFile Utility DestFile URL) :vlax-true)
		                      (alert (strcat "The file: " DestFile " is a downloaded file and was downloaded from: " URL))
		                      (alert (strcat "The file: " DestFile " is not a downloaded file."))
		                  )
	              	)
	           )
	       )
    )
)