如何使用 vba 与另一位办公用户共享 Excel 文件?我有一个需要稍微自定义的模板,并作为一个单独的工作簿与数百个用户(同一个活动目录)共享。
我想我可以使用共享方法来设置使用MSOPermission的权限。我尝试了很多方法都失败了,但这些是我最乐观的方法:
wkBk.Permission.Add "bill_User@company.com",msoPermissionEdit
wkBk.Permission.Add "SallyCEO@company.com",msoPermissionRead
wkBk.Permission.Add "billy_companyID",msoPermissionEdit
Run Code Online (Sandbox Code Playgroud)
我收到的特定错误(此处显示)表明Permission Object
. 我找不到太多关于此的文档(这是我对 Microsoft 的一个常见烦恼)。
我已经看到下面显示的几个帖子,但没有一个解决我的问题。
我确定我在错误的区域,或者我可能需要启用一个库。我很尴尬地说我什至尝试使用宏记录器,但是当我与此处显示的共享菜单交互时没有记录任何代码。
VBA 可能不是处理我的用例情况的最佳工具。如果有适合我的情况的更好的自动化方法,例如TypeScript或Power Apps,我会赞成任何建议,其中包括基本说明或可用于寻找整体解决方案的特定术语/程序的参考。谢谢。
微软注意:在谷歌表格中执行这个类似的任务很容易并且有据可查:
ss.addEditor("billyTheUser@gmail.com");
ss.addViewer("sallyCEO@gmail.com");
Run Code Online (Sandbox Code Playgroud) 我需要 html 标签 keygen 的替代方案,以便通过客户端证书进行身份验证。到目前为止,我只发现过时的 js 库,例如不再维护的 jcryption 或 pidCrypt。有没有办法在客户端生成 rsa 密钥对并将私钥存储在至少跨 chrome、safari 和 firefox 的浏览器密钥存储中。
我知道 node.js 会做类似的事情,但我有一个相当大的应用程序,它已经用 codeigniter 用 php 编写,我不认为你可以只实现一些加密库。据我所知,node.js 有 ac/c++ 后端,在服务器上使用 openssl,因此它不是在客户端生成的。
我是 SSL 和客户端证书的新手,因此我希望获得有关如何实施客户端证书的任何建议。
到目前为止,我已完成以下操作:
使用 keygen 标签(在 Firefox 中仍然有效)生成密钥对。私钥存储在浏览器中。
使用公钥在服务器上通过 openssl 生成证书。
通过 application/x-509-server-cert MIME 类型在用户浏览器中实施证书。(我已经读到,这也不会被支持太久)
有没有办法做到这一点,以便私钥不会离开客户端计算机,或者我应该在服务器上生成所有内容,然后使用密码对其进行加密,并将 p12 文件发送给用户,然后删除服务器上的所有内容?
请帮忙!
所以基本上,当我登录时,我的后端会返回一个令牌,所以我将其存储为:
// var token is global
token = res.data.token;
sessionStorage.setItem("token", token);
Run Code Online (Sandbox Code Playgroud)
当我注销时,我只需从 sessionStorage 中删除项目并重置 var:
token = '';
sessionStorage.removeItem("token");
Run Code Online (Sandbox Code Playgroud)
然后在我的所有请求中我使用 var 创建标头
{ headers: { "Authorization": "Bearer " + token } }
Run Code Online (Sandbox Code Playgroud)
但我不知道我是否应该保留令牌变量或者只访问每个请求的存储,例如:
{ headers: { "Authorization": "Bearer " + sessionStorage.getItem("token"} }
Run Code Online (Sandbox Code Playgroud)
现在我只是使用存储以防用户刷新页面,这样他就不会丢失 javascript 上下文,因为我认为这比为每个请求访问存储更有效,但我不知道最好的安全方法是什么-明智的,或者开发人员通常做什么?
在VBA自定义类模块(以及扩展VB6?)中,如果有一个私有实例变量定义为同一类中的公共枚举,它是否应该被限定......?如果是这样,如何..?
我经常有相同类型的项目参考。例如,Excel 和 Word 都有一个Range
对象。因此,在声明变量时,我总是尽可能具体,例如Excel.Range
or Word.Range
,而不仅仅是Dim R As Range
。
但是枚举呢?如何具体说明这些..?我尝试将变量限定为枚举,但总是收到错误。我尝试将枚举定义移动到另一个自定义类,但这没有帮助。我不经常为 VBA 创建类,所以我可能用错了树。
如果我使用Me.
关键字限定,我会收到错误:
"Compile error: Expected New or type name."
Run Code Online (Sandbox Code Playgroud)
如果我使用自定义类名,我会收到错误:
"Compile error: User-defined type not defined"
Run Code Online (Sandbox Code Playgroud)
这是一个完整的示例:
'Custom class module.
Option Explicit
Public Enum ImageAspect
ImageAspectHorizontal
ImageAspectVertical
End Enum
' Example 1:
' Qualified to use built-in Excel enumeration. This works.
Private logoAspect1 As Excel.XlOrientation
' Example 2:
' Uses the enum defined in this class. This works, but...
' …
Run Code Online (Sandbox Code Playgroud) 微软即将为 Excel 发布一个新的“溢出”功能。在发布时,这在当前版本中不可用,但内部人员可以使用它。
是否有一种“简单”(非 vba 或条件格式)方法来动态格式化溢出范围?示例(如本文件所示)是如果用户更改了驱动溢出范围的单元格,溢出范围是否可能包含某些格式?此外,如果列表缩短,我希望格式采用空白单元格格式。
在示例中,我尝试为列表使用某种灰色格式(输出单元格的样式)。如果你四处修修补补,你可以看到好的/坏的结果。
我意识到数据透视表可能是更好的方法,如果我忽略了某些东西,我只是从学习的角度更好奇。
我正在学习solidity编程,我对这行代码有疑问:
Transfer(0x0,msg.sender,tokens);
我不明白什么0x0
意思。是新的代币地址还是新的智能合约地址?
我将 Angular 5 与 Jasmine 和 Karma 一起使用。我正在尝试测试某个功能是否有效,但我的订阅在单元测试期间没有触发。这导致我的单元测试失败,因为我正在使用 jasmine 的 did 函数。我想让这个单元测试成功。
我已将超时间隔设置为 20 秒,以查看是否只花了一段时间(实际上不应该)。
我也尝试过使用 async 和 fakeasync,但它不会触发。我可以触发订阅吗?
这是我得到的代码:
describe('FilterService', () => {
let service: FilterService;
beforeEach(() => {
TestBed.configureTestingModule({
providers: [FilterService]
});
service = TestBed.get(FilterService);
jasmine.DEFAULT_TIMEOUT_INTERVAL = 20000;
});
it("SetItemsToFilterByAndApplyFilters should set ItemsToFilterBy and set the InFilter property", (done: DoneFn) => {
//arrange
let item1: any = new Organisation();
item1.Id = 1;
item1.InFilter = true;
let item2: any = new Organisation();
item1.Id = 2;
item1.InFilter = false;
let …
Run Code Online (Sandbox Code Playgroud) 尝试更改打印页面标题的字体时遇到问题。我使用了基于此文档的自定义方法
这是我的代码:
$(document).ready(function() {
$('#tabelservis').DataTable( {
"columnDefs": [
{ "type": "numeric-comma", targets: [0, 3] }
],
dom: 'Bfrtip',
buttons: [
{
extend: 'copyHtml5',
exportOptions: {
columns: [ 0, ':visible' ]
}
},
{
extend: 'excel',
exportOptions: {
columns: [ 0,1, 2, 3, 4 ]
}
},
{
extend: 'print',
title: 'All of Services',
exportOptions: {
columns: [ 0,1, 2, 3, 4 ]
},
customize: function ( win ) {
$(win.document.body)
.css( 'font-size', '12px' );
$(win.document.body).find( 'table' …
Run Code Online (Sandbox Code Playgroud) 我有一个问题让谷歌地图打开后自动播放...
示例:我已经放置了意图代码,是的,它会根据我的纬度和经度打开谷歌地图……但是,我仍然需要按下一个按钮来启动谷歌地图来引导我。如何在没有用户按下的情况下通过意图打开后自动打开谷歌地图?是否可以 ?
这是我的代码,
private void turnOnMap()
{
String labelMap = "Target";
String geouri = "geo:0,0?q=-6.908572,107.610923(XXI)";
Intent mapInt = new Intent(Intent.ACTION_VIEW, Uri.parse(geouri));
startActivity(mapInt);
}
Run Code Online (Sandbox Code Playgroud)
我通过 Android 和Android 中特定位置的 Intent 从这些开放的 google 地图中获取了一些 Intent 代码信息 - 如何在 android 应用程序中使用特定位置、缩放级别和标记以及来自官方 android 网站https:/ /developer.android.com/guide/components/intents-common.html#Maps
而且,他们没有解释我应该添加什么命令来在打开后自动播放谷歌地图......
希望你能帮助我……非常感谢你的时间和信息
我知道当 Json 是“简单”时(当它只是字符串时)在单元格 Excel 中显示我的 Parse Json,但现在我有字符串、对象和数组,我有点迷路了..我的 json 如下:
[
{
"name": null,
"type": null,
"actions": [],
"screen": null,
"container": null,
"sysid": 5,
"uftitem": null
},
{
"name": null,
"type": null,
"actions": [],
"screen": null,
"container": null,
"sysid": 6,
"uftitem": null
},
{
"name": "UTProject5",
"type": "type",
"actions": [
{
"name": "UTProject",
"description": "UTProject",
"pattern": "UTProject",
"isCheck": true,
"sysid": 1,
"uftaction": {
"sysid_uftAction": 2,
"code": "code uft",
"maxTime": 10,
"nbCycle": 20
}
},
{
"name": "UTProject2",
"description": "UTProject",
"pattern": "UTProject", …
Run Code Online (Sandbox Code Playgroud) excel ×4
vba ×3
javascript ×2
access-token ×1
android ×1
angular ×1
codeigniter ×1
css ×1
datatables ×1
encryption ×1
ethereum ×1
formatting ×1
google-maps ×1
jasmine ×1
json ×1
jwt ×1
office365 ×1
php ×1
solidity ×1
spill-range ×1
ssl ×1
unit-testing ×1