Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 打开文件而不调用Filepath_Excel_Vba - Fatal编程技术网

Excel 打开文件而不调用Filepath

Excel 打开文件而不调用Filepath,excel,vba,Excel,Vba,我正在使用excelvba。我想按下一个按钮,直接打开另一个文件,而不产生“选择文件窗口”的效果 这是当前代码: Sub loadFile_click() Workbooks.Open("C:\Users\GIL\Desktop\ObsReportExcelWorkbook.xlsx") End Sub 在这种情况下,该文件与主文件位于同一文件夹中 有没有办法不输入文件的路径就可以执行此操作?如果文件位于同一文件夹中,则 Workbooks.Open("ObsReportExcelWorkbo

我正在使用excelvba。我想按下一个按钮,直接打开另一个文件,而不产生“选择文件窗口”的效果

这是当前代码:

Sub loadFile_click()
Workbooks.Open("C:\Users\GIL\Desktop\ObsReportExcelWorkbook.xlsx")
End Sub
在这种情况下,该文件与主文件位于同一文件夹中


有没有办法不输入文件的路径就可以执行此操作?

如果文件位于同一文件夹中,则

Workbooks.Open("ObsReportExcelWorkbook.xlsx")


应该有用。我刚刚在Excel VBA中尝试了这两种方法,都成功了。

如果文件名已修复,则可以使用ActiveWorkbook.Path函数返回当前工作簿的路径:

Dim文件名为字符串
FileName=ActiveWorkbook.Path&“\myfile.xlsx


检查是否需要额外的斜杠字符。

如果文件与包含VBA宏的文档位于同一文件夹中,请使用

ThisWorkbook.Path
例如:

Workbooks.Open(ThisWorkbook.Path & "\ObsReportExcelWorkbook.xlsx")

(即使该文档不再是活动文档,或者您更改了当前目录,此操作仍然有效)。

打开active工作簿的文件夹

Sub OpenFolderofProject()
Dim strMsg As String, strTitle As String
Dim sFolder As String

sFolder = ThisWorkbook.Path

    strMsg = "Open WorkBook Folder Location? "
    strTitle = "Folder Location:" & sFolder

        If MsgBox(strMsg, vbQuestion + vbYesNo, strTitle) = vbNo Then
        Else
           Call Shell("explorer.exe " & sFolder, vbNormalFocus)
        End If
End Sub
背景: 通常,您对项目的修订会不断更改,或者您有一个自动生成的工作簿,带有动态名称。不管是什么情况。这将知道您的工作簿路径位置,并询问您是否要打开该特定文件夹


当我以编程方式在工作簿的同一文件夹中动态保存了一堆Excel时,这对我非常有用。因为我不必关闭/最小化工作簿以转到资源管理器。我可以专注于项目,而不会失去思路。

Workbooks.Open(“D:\data\Mohit Singh\msk\data\book1.xlsx”)

如何打开文件夹位置而不是工作簿?@MaximTeleguz:定义“打开文件夹位置”的含义“,或者在这里贴一个问题,清楚地描述一下你的想法。@MaximTeleguz:你似乎不明白这是怎么回事。这不是一个讨论论坛。如果你只是发布了一个OP没有提出的问题的答案,你的答案将被否决并删除。如果你有问题,单独问。如果你想回答自己的问题,那完全可以。请熟悉网站规则。这并不是问题的答案。若要评论或要求作者澄清,请在他们的帖子下方留下评论。嘿,你能告诉我如何在评论部分发布代码,这样代码才可读吗。另外,我是从谷歌上的那个特定问题被引导到这个页面的。更多的人会像我一样被带到这里。为了节省时间,他们会看到我的回答。我也尝试了这两种方法。我得到错误400。excel的“当前路径”似乎与上次保存的文件相同。为了解决这个问题,@Doc Brown solution对我很有效
Sub OpenFolderofProject()
Dim strMsg As String, strTitle As String
Dim sFolder As String

sFolder = ThisWorkbook.Path

    strMsg = "Open WorkBook Folder Location? "
    strTitle = "Folder Location:" & sFolder

        If MsgBox(strMsg, vbQuestion + vbYesNo, strTitle) = vbNo Then
        Else
           Call Shell("explorer.exe " & sFolder, vbNormalFocus)
        End If
End Sub