アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちわ。ExcelVBAで、ワークシートのA列に入力されているデータをTextファイルに保存するプログラムを作りました。下記のものです。
=================================
Sub Expo_TXT()
Dim Rows As Long
Dim StrData As String
Dim Fs As Object, A As Object
Set Fs = CreateObject("Scripting.FileSystemObject")
Set A = Fs.CreateTextFile("c:\test.txt", True)
For Rows = 1 To 10
StrData = Worksheets("Sheet1").Cells(Rows, 1).Value
A.WriteLine StrData
Next Rows
A.Close
End Sub
=================================
しかし見てのとおりcドライブのルートにtest.txtという名前で保存するようになっています。
できれば、そのパソコンのデスクトップに保存したいのですが、どうすれば、パソコンのデスクトップのPATHを取得できるでしょうか?
それぞれのパソコンのデスクトップは
c:\windows\デスクトップという様にWin98マシンもあれば
c:\Documents and Settings\Hanako\デスクトップや
c:\Documents and Settings\Taro\デスクトップという場合もあります。多分APIとか使うんだろうなと思い、Webの解説ページを読んだりしましたがAPI使ったことが無いのでチンプンカンプンでした。
できれば具体的なコーディング例をご提示いただければ助かります。

A 回答 (2件)

Dim MyWSH As Object



Set MyWSH = CreateObject("WScript.Shell")
myDeskTopPath = MyWSH.SpecialFolders("Desktop")
Set MyWSH = Nothing

これでどうでしょうか。
    • good
    • 0
この回答へのお礼

ばっちりです。
ありがとうございました。

お礼日時:2005/04/06 14:45

本体のファイルを各自のデスクトップに置いてもらい、



ThisWorkbook.Pathで取得したらいかがでしょうか?
    • good
    • 1
この回答へのお礼

う~ん、確かにデスクトップに本体ファイルを置ければ苦労はないのですが。
また、それができれば、pathを指定せず、ファイル名だけ指定すれば、同じデレクトリ、つまりデスクトップにファイルが出来上がるので、ThisWorkbook.Pathで取得する必要もなくなるのです。

いや、でもシンプルに考えればそれもありか・・・
ありがとうございました。

お礼日時:2005/04/06 14:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています