小编Gar*_*ans的帖子

访问具有长路径的文件(超过260)

我正在使用Microsoft Scripting Runtime(FSO)解析文件夹并生成所有内容的列表,文件夹在网络上,结果路径最终超过260.我的最小代码如下: -

Private Sub ProcessFolder(ByVal StrFolder As String)
Dim Fl              As File
Dim Fldr            As Folder
Dim RootFldr        As Folder

Set RootFldr = FS.GetFolder(StrFolder)

    For Each Fl In RootFldr.Files
        Debug.Print Fl.Path
    Next

    For Each Fldr In RootFldr.SubFolders
        DoEvents
        ProcessFolder Fldr.Path
    Next

Set RootFldr = nothing    
End sub
Run Code Online (Sandbox Code Playgroud)

在某个级别StrFolder长度变为259,Set RootFldr ...文件夹行工作但是For Each Fl In RootFldr.Files给出了错误76: Path not found,可能是因为内容导致路径突破260限制.

查看Windows资源管理器时,文件夹中有文件.我正在使用Excel作为此代码的主机,因为我将结果输出到工作簿.

为了清楚地了解我的问题及其背景,我需要使用FSO(很高兴能够显示替代品,如果它们存在)来访问网络路径深度超过260个字符的文件.我需要它作为FSO,因为我的工具是获取文件夹路径和文件路径,名称,大小创建和修改.

excel vba filesystemobject fso

7
推荐指数
2
解决办法
4451
查看次数

十进制的SSIS数据转换问题

我有一个 dtsx 包在我们的 SQL 服务器(2016 SP2 CU6)上的 SSIS 中运行,它是将 Excel (xlsx) 工作表按原样导入到 SQL 表中的轻量级任务,现阶段不需要转换,有一个代理围绕它做了更多的工作,但我可以看到错误发生在这一部分。

我看到的问题是 Excel ( 0.0153)中的一个数字在 SQL 中出现,好像转换得很糟糕 ( 1.5299999999999999E-2)。

确认 Excel 中的数字0.0153不是更长的或格式设置为这样的。

两个值都只有 6 个字符的长度,公式栏显示实际值

导入后,这就是我所拥有的:-

两个值都显示在 SQL 中

我觉得这很奇怪:-

  • 他们都处于非常相似的情况,但结果却不同
  • 它们在 Excel 工作表中一个接一个
  • 它们靠近工作表的顶部(第 10 行和第 11 行),因此如果发生类似情况,采样应该使用它们来了解数据类型(第 1 行0.193841也是类似的,总体范围是 -29 到 200保留 7 位小数)
  • 它们之间只有 0.0021 的差异

Excel 中的数字格式是General,SQL 中的列是NVARCHAR(255)

在 SSIS 包中,外部列的 Excel 源数据类型被归类为double-precision float [DT-R8](不确定它来自哪里,但我无法更改它)并且输出列Unicode string [DT-WSTR]

然后我使用Native OLE DB\SQL Server Native …

sql sql-server ssis

2
推荐指数
1
解决办法
5407
查看次数

CountIf 不计算来自公式的值

我已经找不到匹配的答案,但很高兴被重定向!

我的问题是countifs跨两个工作表,但我可以在较小的环境中复制它。

我有三列数据(AC):-

数据图片

D 列有公式=IF(A2="Closed",C2-B2,0)

这一点有效,我现在需要计算多少天花了X天才能关闭:-

数数

G列有公式 =COUNTIFS(A2:A11,"Closed",D2:D11,F2)

看看图片4149应该是 1 吧?我做错了什么?所有单元格都格式化为数字。

excel excel-formula countif

1
推荐指数
1
解决办法
1519
查看次数

标签 统计

excel ×2

countif ×1

excel-formula ×1

filesystemobject ×1

fso ×1

sql ×1

sql-server ×1

ssis ×1

vba ×1