|
▼ハチ さん:
>▼コジコジ さん:
>>あるシートに記入いてあるデータを別のブックのシートへ登録しようと思うのですが、ハイパーリンクの設定で悩んでます。
>>ADODBでブックを開かずに登録しています。
>>通常のデータは問題ないのですが、あるフィールドにハイパーリンクを設定した状態で登録するにはどうすれば良いでしょうか。
>>サンプルコードです。
>>======================================================================
>>Private Sub test()
>>Dim myCon As New ADODB.Connection
>>Dim myRS As New ADODB.Recordset
>>Dim myFile As String
>>Dim conSTR As String
>>Dim EntTime As Date
>>
>> myFile = "\\Server1\\test\testDB.xls"
>> conSTR = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
>> "Extended Properties=Excel 8.0;" & _
>> "Data Source=" & myFile
>> myCon.Open conSTR
>> myRS.Open "[テスト$]", conSTR, adOpenStatic, adLockPessimistic
>> With myRS
>> .AddNew
>> .Fields!部署 = Sheets("CTRL").Range("部署")
>> .Fields!社員NO = Sheets("CTRL").Range("社員NO")
>> .Fields!依頼者 = Sheets("CTRL").Range("氏名")
>> .Fields!文書リンク = xxxxxx
>> myRS.Update
>> End With
>> myRS.Close
>> Set myRS = Nothing
>> myCon.Close
>> Set myCon = Nothing
>>End Sub
>>======================================================================
>>.Fields!文書リンク のフィールドに任意の文字列(例えばABC)にサーバー上の特定のファイル("\\Server1\test\ABC.xls")にハイパーリンクを設定した状態で登録したいのですが上手くいきません。何方かご教授願えませんでしょうか。
>
>ADOからExcelの機能であるハイパーリンクを設定することはできないと思います。
>正し、フィールドの値にHYPERLINK関数で入力すればできるかも。(試してません)
>
>HYPERLINK関数の引数は、ヘルプで確認してみてください。
ハチ さん返信有難う御座います。
以下のように設定するとセルに代入されるのですが、どうしても頭の"="の前に"'"が付いてしまい"'="のように代入され文字列で認識されてしまいます。
"'"を削除すれば関数として認識されます。何か方法はあるでしょうか。
.Fields!文書リンク = "=HYPERLINK(" & """"\\Server1\test\ABC.xl """" & "," & """abc.xls"")"
|
|