注册 登录
编程论坛 VB6论坛

VB6 获取桌面路径 存入变量 使用该变量报错

zhgfeng20 发布于 2020-08-13 21:52, 2253 次点击
Private Sub Command1_Click()
  Dim a As String
  Dim b As String
  Dim d As String
  Set obj = CreateObject("Wscript.shell") ' 方法- 获取桌面路径
  k = obj.SpecialFolders.Item(10)

  Dim kk As New IWshRuntimeLibrary.WshShell ’ 方法二获取桌面路径
  a = kk.SpecialFolders("Desktop")
  b = Chr(34) & a & Chr(34)
  Text1.Text = b
  Text2.Text = k
  c = "C:\Users\HG\Desktop" ‘实际桌面路径
   Open (b & "6.txt ") For Append As #1   ’ 变量b  提示路径不存在,c  则可以
  
有把变量b 放在Text1.text 读出,显示字符串和c 是一样的,请教是什么原因啊,谢谢!
6 回复
#2
风吹过b2020-08-13 22:15
你看看你打开文件时给路径是什么内容

我测试环境 的桌面位置 在 C:\Documents and Settings\Administrator\桌面

b & "6.txt "  = "C:\Documents and Settings\Administrator\桌面"6.txt
这个路径能找到文件那就真的奇拉怪了。

-----------
你取了路径后,知道显示出来查看内容,为啥不显示一下 b & "6.txt " 的内容呢?
还有,6.txt 到引号之间还多了一个空格
====================
a & "\6.txt"

#3
zhgfeng202020-08-13 22:18
不好意思提问是
#4
zhgfeng202020-08-13 22:23
回复 3楼 zhgfeng20
不好意思上面漏了“\”
是下面这样的
 c = "C:\Users\HG\Desktop" ‘实际桌面路径
Open (c & "\" & "6.txt") For Append As  #1 ' 这样是可以的
把 c 换成b 就不可以了
Open (b & "\" & "6.txt") For Append As  #1
#5
zhgfeng202020-08-13 22:27
知道错哪了,非常感谢!
#6
apull2020-08-13 22:35
b = Chr(34) & a & Chr(34)
如果a的值是C:\Users\HG\Desktop
那么b就是"C:\Users\HG\Desktop"
b & "\" & "6.txt"的结果是"C:\Users\HG\Desktop"\6.txt
这样你这个路径就不合适了呀


c = "C:\Users\HG\Desktop" 这里"引号表示这是个字符串,c的值是不包含引号的,
你给b强行加了个引号。

[此贴子已经被作者于2020-8-13 22:46编辑过]

#7
zhgfeng202020-08-14 20:37
感谢指导!
1