首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >VBA上MultiSelect在.GetOpenFileName上选择的误差

VBA上MultiSelect在.GetOpenFileName上选择的误差
EN

Stack Overflow用户
提问于 2016-02-25 04:11:52
回答 2查看 882关注 0票数 3

我在Excel2010VBA (7.0)上创建了一个Userform,它将通过.GetOpenFileName属性传输用户选择的文件。然后将所选文件的文件路径插入到ListBox中。

我的问题是,目前我正在尝试使用MultiSelect,但是当我给.GetOpenFileName Multiselect属性将文件路径发送到我的ListBox (这是启用了多行的)时,会出现一个为GetOpenFileName代码行显示的类型不匹配错误。代码示例如下:

代码语言:javascript
运行
AI代码解释
复制
Private Sub CommandButton1_Click ()
Dim strFilePath As String

StrFilePath = Application.GetOpenFilename (,,,, MultiSelect:= True)
If strFilePath = "False" Then Exit Sub

FilesFrom.Value = strFilePath

End Sub

FilesFrom是列表框,我想让这些文件进入其中。我的代码允许用户选择单个文件并传输该文件,但它不允许我用多个文件填充这个列表框。

对于如何允许用户选择多个文件并将文件路径插入名为FilesFrom的列表框,有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-25 04:34:44

问题是MultiSelect返回一个Array

下面的代码应该是您想要的。它适合多种或单一选择。

代码语言:javascript
运行
AI代码解释
复制
 Private Sub CommandButton1_Click()
      'GetOpenFile MultiSelect will return an Array if more than one is selected
      Dim FilePathArray As Variant
      FilePathArray = Application.GetOpenFilename(, , , , MultiSelect:=True)

      If IsArray(FilePathArray) Then

           Dim ArraySize As Long
           ArraySize = UBound(FilePathArray, 1) - LBound(FilePathArray, 1) + 1

           Dim ArrayPosition As Long
           For ArrayPosition = 1 To ArraySize

                If Not FilePathArray(ArrayPosition) = Empty Then
                'Replace "UserForm1" with the name of your Userform
                UserForm1.FilesFrom.AddItem (FilePathArray(ArrayPosition))
                End If

           Next ArrayPosition

      ElseIf FilePathArray <> False Then

           'Replace "UserForm1" with the name of your Userform
           UserForm1.FilesFrom.AddItem (FilePathArray)

      End If
 End Sub
票数 2
EN

Stack Overflow用户

发布于 2016-02-25 04:42:38

Application.GetOpenFilename对我来说似乎有点有限。我通常对下面的片段使用变体。它将所有选定的文件名复制到astrFiles()中,然后您可以根据需要处理该文件名。

代码语言:javascript
运行
AI代码解释
复制
Private Sub CommandButton1_Click()

    Dim astrFiles() As String

    Dim i As Integer
    Dim varSelectedItem as Variant
    Dim objFileSelect As FileDialog
    Set objFileSelect = Application.FileDialog(msoFileDialogOpen)

    objFileSelect.AllowMultiSelect = True
    ' Skip if user clicks cancel on dialogue
    If objFileSelect.Show = True Then
        ' Copy from Variant() to String()
        ReDim astrFiles(objFileSelect.SelectedItems.Count - 1)
        For Each varSelectedItem In objFileSelect.SelectedItems
            astrFiles(i) = varSelectedItem
            i = i + 1
        Next
    End If

    Set objFileSelect = Nothing
End Function

然后,您可以使用以下方法将结果加载到TextBox或类似文件中:

代码语言:javascript
运行
AI代码解释
复制
FilesFrom.Value = Join(astrFiles,vbCr)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35626944

复制
相关文章
Baidu与Google地图API初探
前天周六,有个好友过来玩,他说想在他的站点中加入地图导航模块,但不知道选择哪个第三方Map API
全栈程序员站长
2022/07/12
1.8K0
Baidu与Google地图API初探
Baidu与Google地图API初探
前天周六,有个好友过来玩,他说想在他的网站中加入地图导航模块,但不知道选择哪个第三方Map API
阳光岛主
2019/02/19
2.6K0
java google 离线地图开发_如何发布google离线地图及二次开发API[通俗易懂]
离线地图开发环境支持谷歌地图、百度地图、高德地图等等所有常用地图类型,支持在局域网内的地图部署、二次开发。
全栈程序员站长
2022/11/08
1.7K0
java google 离线地图开发_如何发布google离线地图及二次开发API[通俗易懂]
google地图简单示例
要先获取Google地图的API 密钥:http://code.google.com/intl/zh-CN/apis/maps/signup.html
liulun
2022/05/09
4450
以客户为中心
最近一直在思考一个问题,如何才能带领团队把事情做好,如何才能把产品做好。过程中也用了很多方法,比如戴明环,比如事情安排的“行人准则”,效果也是非常不错,交代的事情基本也能满足要求,但是总谈不上优秀。 正好最近看了雷军的第三次年度演讲:穿越人生低谷的感悟,结合自己平时做事的理念,觉得“以客户为中心”最能作为核心团队乃至公司的核心业务理念。 什么是以客户为中心 除了以客户为中心 以技术为中心 以产品为中心:腾讯 以股东为中心: 以员工为中心:谷歌(工程师文化) 为什么要以客户为中心 世界上只有客户给你钱
十毛
2022/08/23
2800
以业务为中心
一直觉得没有啥好写的,什么技术,业务什么的都比较简单。最近幡然醒悟,有什么是不能用文字表达的呢?
李子健
2023/05/25
1900
Google JavaScript API
You can use the JavaScript client library to interact with Google APIs, such as People, Calendar, and Drive, from your web applications. Follow the instructions on this page to get started.
拿我格子衫来
2022/01/24
6220
Google 发布 Google Friend Connect API
Google Friend Connect 是 Google 推出的社会化网络工具,通过此工具你可以将各种支持 OpenSocial 的应用通过 Google Friend Connect 在你的网站上应用,并且可以和已有的社会化网络进行整合应用。今天 Google 更是开放了 Google Friend Connect 的 API,让你能够访问到更多 Google Friend Connect 核心的数据和功能。 Google Friend Connect 提供两种 API,JavaScript API 允许你能够直接集成社会化社区到你的网页中。REST API 能够允许你把网站的现有的登陆系统和数据集成新的社会化数据和活动,并能实现让你的网站实现通过 Gmail 账号,Yahoo 账号,OpenID 等方式实现单点登录。
Denis
2023/04/14
6720
Google 地图切片URL地址解析
Google地图采用的是Web墨卡托投影(如下图),为了方便忽略了两极变形较大的地区,把世界地图做成了一个边长等于赤道周长的正方形(赤道半径为6378137米),原点在正方形中心,即经纬度为(0,0)处。Web墨卡托投影的X,Y坐标取值范围为:[-20037508.3427892,20037508.3427892],对应的经度取值范围为[-180,180],对应的纬度范围则为[-85.05112877980659,85.05112877980659]。具体投影解释请参考墨卡托投影:
全栈程序员站长
2022/07/04
1.8K0
Google 地图切片URL地址解析
来自Google的经验:以用户为中心的机器学习七大技巧
作者 | Josh Lovejoy 编译 | 聂震坤 设计面向用户的机器学习时需要注意的7点 如果你刚开始接触机器学习并且感觉有些无所适从,不要惊慌或者怀疑自己,给自己时间适应。此篇文章中指出了七个要
用户1737318
2018/07/20
5600
Openlayers中Google地图的加载
在实现的时候,参考了mygisforum的文章http://blog.csdn.net/mygisforum/article/details/7582449的内容,同时结合gwc的gridset,实现了google切片在Openlayers2中的调用与展示。
牛老师讲GIS
2018/10/23
2K0
Openlayers中Google地图的加载
使用Google翻译Api
将环境变量GOOGLE_APPLICATION_CREDENTIALS设置为包含服务帐户密钥的JSON文件的文件路径。在Linux或macOS系统中设置方法如下:
职场亮哥
2020/10/10
4.6K0
腾讯地图Javascript API GL
腾讯位置服务在多平台为开发者提供了丰富的地图展现形式,帮助从属于不同领域的开发人员轻松完成构建地图并在其基础上打造专属内容的工作。同时配合海量数据、个性化定制、可视化等能力满足各个行业场景下对地图的需求。
鱼找水需要时间
2023/02/16
2.5K0
腾讯地图Javascript API GL
高德地图应用(4)设置地图的中心点
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title></title> <script type="text/javascript" src="https://web
贵哥的编程之路
2021/06/08
1.7K0
高德地图应用(4)设置地图的中心点
GitHub标星8W,Google面试指南
作为全球最顶尖的互联网公司,进入Google工作一直是很多工程师的梦想,自 1996 年诞生以来,Google 至今已推出多款改变世界的互联网产品,旗下也汇聚了一大批优质的工程师与科学家。 与此同时,因其崇尚自由开放,不作恶的互联网理念,也受到了许多互联网优秀人才的认可,Google 也成为了他们最想去的互联网企业之一。
xiangzhihong
2022/11/30
2270
Google JS API 授权 失败
// 初始化OAuth2.0授权 const authenticate = () => { return gapi.auth2.getAuthInstance() .signIn({scope: "https://www.googleapis.com/auth/documents https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/driv
拿我格子衫来
2022/01/24
4.1K0
Google JS API 授权 失败
Google短网址的API
除了速度快,goo.gl还提供详细的点击统计。比如,Yahoo首页的短网址是http://goo.gl/QuXj,那么它的统计数据就在http://goo.gl/info/QuXj。加上后缀".qr",还能得到这个网址的二维条形码,Yahoo的就是http://goo.gl/QuXj.qr。
ruanyf
2018/09/21
4.4K1
Google短网址的API
离线地图开发:google地图坐标和百度地图的相互转化
jQuery.MapConvert = { x_pi : 3.14159265358979324 * 3000.0 / 180.0, /// <summary> /// 中国正常坐标系GCJ02协议的坐标,转到 百度地图对应的 BD09 协议坐标 /// point 为传入的对象,例如{lat:xxxxx,lng:xxxxx} /// google地图坐标转换成百度地图坐标 /// </summary> Convert_GCJ02_To_BD
用户1220053
2022/01/07
1.3K0
Google MAP API 初步尝试
今天看了一下午Google的API,发现还挺简单的。稍微懂点Javascript就可以了。 写了个小例子
EltonZheng
2021/01/26
1.6K0
Google JavaScript API 的使用
您可以使用JavaScript客户端库与Web应用程序中的Google API(例如,人物,日历和云端硬盘)进行交互。请按照此页面上的说明进行操作。
拿我格子衫来
2022/01/24
3.1K0

相似问题

无法在Google地图中以标记为中心

20

不能让Google地图以带有角度的标记为中心

17

iframe中的Google地图不以标签/标记为中心

20

以Google地图API为中心的标记+地理定位

210

移动google地图中心javascript api

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档