标签: excel-2016

Workbook_Open后焦点错误的Excel窗口

我最近升级到Office 365/Excel 2016已导致一些不必要的行为更改.工作簿("Portfolio Appreciation")包含一个Workbook_open过程,该过程检查Workbook("Index Returns")是否打开; 如果不是,它将打开该工作簿.

使用Excel 2007,Index Returns将在后台打开并保持在那里,这是所需的行为.它将在"窗口中",并且可以在同一Excel窗口中使用功能区选项卡Arrange All上的Window选项进行查看View.

使用Excel 2016,如果它通过Workbook_Open过程Index Returns打开,则在其自己的Excel窗口中打开,并在前面结束.(它不能再在同一个Excel窗口中查看Portfolio Appreciation).

Index Returns前面的事实是问题所在.

我尝试选择并取消选择忽略使用DDE的其他应用程序; 我尝试了这个AppActivate方法(如下面的代码所示)并使用a验证MsgBox参数是否与相关的标题栏匹配.

不知道下一步该去哪里.建议表示赞赏.

另外:不 Index Returns包含宏或连接. Portfolio Appreciation除了 Workbook_Open并且确实有一个Web查询在打开时刷新(查询下载一些股票索引的东西).


Option Explicit
Private Sub Workbook_Open()
    Dim wbs As Workbooks, wb As Workbook
    Dim IndexReturns As String
    Dim re As RegExp
    Const sPat As String = "(^.*\\DATA\\).*"
    Const sRepl As String = "$1EHC\Investment Committee\indexreturns.xlsb"
    Dim sTitle …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba excel-2016

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

如何使用 office-js 以编程方式向工作表中的单元格添加超链接?

我正在使用 JavaScript API 开发 Excel 加载项以在 Excel 2016 中构建加载项。

我遇到的问题不是将 url/link 放在单元格中 - 我宁愿让这个 url 可点击(你可能知道它是通过在单元格中输入一个 url 并点击 )。

在 VBA 中,解决方案是这样的(例如):

With Worksheets(1)
    .Hyperlinks.Add .Range("E5"), "http://example.microsoft.com"
End With
Run Code Online (Sandbox Code Playgroud)

不幸的是,我在 JavaScript API 中找不到超链接函数。任何的想法?

非常感谢您的帮助和最好的问候埃里克

javascript office365 excel-2016 office-js

6
推荐指数
2
解决办法
3650
查看次数

"Application.Quit"让Excel在后台运行

我有一个小的excel文件,由调度应用程序每15分钟启动一次.

excel单元格中的函数从网络上的各个位置读取数据,并将其存储在此excel文件的单元格中.这一切都很完美.

然后VBA代码保存文件并执行Application.Quit.

在之前的excel版本中,它运行良好.从升级到2016年,Application.Quit关闭"excel界面",但任务管理器显示一百个"Excel.exe"仍然坐在那里,每个使用40MB的内存.

附图只显示了任务管理器中的五个excel.exe,因为此时计算机只运行了不到两个小时.但是24小时后大约有100个.所以计算机会在几天内崩溃.

Excel.exe仍在运行


感谢您的快速帮助.我不确定我是否应该通过编辑原始问题来回答我的问题.

这是代码.单元格值的实际更新在单元格本身中执行.有一个Add In,它从我们工厂的某些PLC中读取值.一切正常.

Private Sub Workbook_Open()
    Application.CalculateFull
    ActiveWorkbook.Save
    Application.Quit
End Sub
Run Code Online (Sandbox Code Playgroud)

当它启动的excel文件时,它会更新并关闭.这已经工作了很多年,直到我们升级到2016年.Application.Quit将使excel完全消失.现在不要.

excel vba excel-vba excel-2016

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

Visual Studio Tools For Office(Excel 2016 工作簿)设计器显示蓝屏

因此,我正在尝试启动 VSTO Excel 工作簿项目,但似乎无法让设计人员实际打开我为项目播种的电子表格。

设计器只显示蓝屏,不允许我实际编辑电子表格。

当我从头开始一个新项目时也会发生这种情况。

我在编辑每张工作表或整个工作簿的代码时没有任何问题,只是设计师给我带来了问题。

我正在使用 Visual Studio 2017 和 Excel 2016。

想法?

设计师蓝屏示例

在此输入图像描述

excel vsto excel-2016 visual-studio-2017

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

如何使Microsoft Web浏览器对象在Excel 2016中工作

当我尝试将其插入时,会不断出现“无法插入对象”错误。这似乎是以前的Excel版本的一个已知问题,但我找不到对2016年的任何支持。

有人能做这项工作吗?

这是屏幕截图:

excel vba excel-vba excel-2016

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

VBA编辑器坏了 - Excel 2016 OSX

我最近安装了Excel 2016 for mac,当我启动VBA编辑器时,文本以垂直方式放置(没有任何宽度的线),如下图所示.有什么解决方法吗?

在此输入图像描述

excel vba excel-vba excel-2016

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

Excel 2016 for Mac 中的 VBA 宏:另存为不适用于 CSV 文件格式

我正在 Excel 2016 for Mac 中运行 VBA 宏。该宏适用于使用 Excel 2016 的 Windows 平台和早于 2016 版本的 Mac 平台。尝试导出 CSV 时,该问题特定于 Excel 2016 for Mac。

该代码应该允许用户单击按钮,然后将活动工作表导出到 CSV 文件。虽然这里记录了一个类似的问题(在尝试将 XLSM 保存为 CSV 时出现“Getting "method saveas of object _workbook failed" 错误),但不幸的是,在更改xlCSV6为他们工作时,这对我不起作用。

该代码一直运行到该ActiveWorkbook.SaveAs Filename:=newFileName, FileFormat:=6, CreateBackup:=False行,然后抛出错误:

运行时错误“1004”:对象“_Workbook”的方法“SaveAs”失败

如果我更改FileFormat51(.xlsx) 或53(.xlsm),代码将成功完成。但是,如果FileFormat设置为6(.csv),则代码将抛出上述错误。我无法SaveAs xlCSVxlCSVMac

我的完整脚本如下:

Sub btnExportCSV_Click()
Dim oldFileName As String
Dim newFileName As String
Dim timeStamp …
Run Code Online (Sandbox Code Playgroud)

macos macros excel vba excel-2016

5
推荐指数
0
解决办法
5636
查看次数

在 Excel 2016 (O365) 中嵌入 SQL Server 凭据以按需刷新数据

我正在尝试将凭据嵌入到我的 SQL Server 2008R2 数据库上的帐户的 Excel 2016 工作簿中,该帐户对某些存储过程具有执行权限,以向最终用户提供只读数据。用户帐户本身无权访问数据库,其想法是将此只读帐户的凭据嵌入到 Excel 电子表格中,用户只需单击“全部刷新”即可获取从存储过程返回的最新数据.

澄清一下,我不在乎用户是否知道帐户的密码 - 这不是问题。我只是不想让他们不得不输入密码来刷新数据。

这是我迄今为止在 Excel 中尝试过的:

  • 数据(选项卡)> 获取数据> 从数据库> 从 SQL Server 数据库> 我输入服务器、数据库和我的“exec sp”命令,这对我来说返回数据没有问题。但是,如果我将文件交给另一个无权访问数据库的用户,连接将失败,因为 Excel 正在尝试使用 Windows 凭据。所以我尝试编辑连接字符串(数据(选项卡)> 查询和连接> 右键单击​​查询> 属性> 定义(选项卡)> 连接字符串)但这些字段是灰色的,所以我无法添加用户 ID 和密码部分的连接字符串。
  • 数据(选项卡)> 获取数据 > 从其他来源 > 从 OLEDB > 构建 > 提供程序(选项卡)我选择“SQL Server Native Client 10.0”> 连接(选项卡)我输入服务器名称,“使用特定的用户名和密码”单选检查并输入帐户用户名/密码,选择数据库,“测试连接”返回有效>所有(选项卡)>将“集成安全”设置为“假”>确定>确定>Excel然后提示输入来自数据库/Windows/的凭据默认或自定义:

在此处输入图片说明 我不认为我会在这里输入任何内容,因为我在构建查询字符串时已经输入了凭据,但我还是输入了,因为似乎需要输入某些内容。我将 Excel 文件交给另一个用户,并且肯定拒绝了足够的访问,因为它默认使用他们当前的 Windows 登录来访问数据库。

  • 我将从数据连接向导(旧版)添加到我的功能区,作为使用与上一次尝试相同的设置构建连接字符串的替代方法,并且每次我想刷新时都会提示我输入密码:

在此处输入图片说明

是什么赋予了?我有一个同事有一个 Excel 2010 文件,他们可以进入并编辑连接字符串属性而不会出现问题,并且他们的文件可以工作。我怎样才能让它在 Excel 2016 中工作?

我真的很感激你们能提供的任何帮助!

编辑:这个问题似乎并不遥远..有谁知道如何做到这一点?我觉得应该很简单。

sql sql-server-2008-r2 excel-2016

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

调整包含图表标题的文本框的大小

我有一堆图表,其中图表标题适合标题框中的一行。

在此输入图像描述

我不想进一步减小字体大小,而是更愿意使文本框更宽一些。

将图表标题的当前宽度打印到即时窗口,我发现它当前的宽度约为 245 像素。看到这一点,我决定使用以下代码来尝试调整工作表中给定名称的所有图表的大小:

Dim ws As Worksheet
Dim co As ChartObject

For Each ws In ThisWorkbook.Worksheets
    For Each co In ws.ChartObjects
        If co.Name = "Tiltaksplan" Then
            co.Chart.ChartTitle.Width = 260
        End If
    Next co
Next ws
Run Code Online (Sandbox Code Playgroud)

然而,它似乎.ChartTitle.Width是一个只读属性,因此当我尝试更改它时,宏会停止并出现该行错误。

还有其他方法可以调整标题框的大小,还是我只能手动操作?

excel charts vba excel-2016

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

如何根据开始和长度动态填充单元格

基本上,问题总结如下图。

在此处输入图片说明

https://imgur.com/a/vBU2xMK

“开始”列是当“描述符”变量开始时,它根据从“开始”列开始的“长度”列中的值填充行数。

在像示例这样的小数据集上使用值解决这个问题很简单,但是如何使用公式复制它?

谢谢,

excel excel-formula excel-2016

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