我知道我可以编写以下内容来将数字格式化为具有yyyy-mm-dd外观的日期:
Range("A1").NumberFormat = "yyyy-mm-dd"
Run Code Online (Sandbox Code Playgroud)
我知道我也可以写:
Range("A1").NumberFormat = "m/d/yyyy"
Run Code Online (Sandbox Code Playgroud)
和各种各样的事情.
但有没有办法可以将数字格式设置为一般的短日期,并将其留给用户的系统来决定确切的外观?
我正在寻找一个像这样的表达式:
Range("A1").NumberFormat = "Short Date" '(<-This does not work)
Run Code Online (Sandbox Code Playgroud) 在运行使用Excel的过程时,我通常会在过程开始时关闭某些应用程序设置,然后在过程结束时再次打开它们.
关闭和打开应用程序设置的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace XLTimeTracker
{
class API
{
public static void TurnAppSettingsOff()
{
AddinModule.CurrentInstance.ExcelApp.EnableEvents = false;
AddinModule.CurrentInstance.ExcelApp.ScreenUpdating = false;
}
public static void TurnAppSettingsOn()
{
if (AddinModule.CurrentInstance.ExcelApp == null) return;
AddinModule.CurrentInstance.ExcelApp.EnableEvents = true;
AddinModule.CurrentInstance.ExcelApp.ScreenUpdating = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我用以下方式调用此过程:
API.TurnAppSettingsOff();
// my code
API.TurnAppSettingsOn();
Run Code Online (Sandbox Code Playgroud)
这很好用.
但是说我只想打开我跑前的应用程序设置API.TurnAppSettingsOff().什么是编码的好方法?
一些想法:
Boolean screenUpdating = AddinModule.CurrentInstance.ExcelApp.ScreenUpdating;
我希望最终结果是正确的,即使关闭和打开appsettings的函数也调用另一个关闭和打开应用程序设置的功能.
我不知道这是否是最好设置使用一个命令的所有设置,例如API.TurnAppSettingsOff(),或者这将是明智的用户API.TurnScreenUpdatingOff()和API.TurnEventsOff().
如果我执行以下操作:
$('.js-element').attr("data-count", 2)
Run Code Online (Sandbox Code Playgroud)
然后我可以使用CSS显示该值:
.js-element:after {
content: attr(data-count);
}
Run Code Online (Sandbox Code Playgroud)
但如果我做以下事情:
$('.js-element').data("count", 2)
Run Code Online (Sandbox Code Playgroud)
然后相同的CSS代码什么也没显示.
我理解的不同之处在于,在第一种情况下,我只是在HTML元素上设置了一个属性,我恰好在数据前缀,而在第二种情况下,我正在设置HTML元素的数据集属性.
我的问题是:
我可以在使用 TypeScript 的 create-react-app 应用程序中使用样式化组件 babel 插件吗?
我在文档中读到,有一个“宏包含了 babel 插件的所有功能,同时允许未弹出的工具处理构建过程中的 Babel 部分。”
我努力了:
npm install babel-plugin-macros
Run Code Online (Sandbox Code Playgroud)
和
import styled from 'styled-components/macro';
const Div = styled.div`
`;
Run Code Online (Sandbox Code Playgroud)
在npm run start控制台中我得到
Compiled with warnings.
./node_modules/babel-plugin-macros/dist/index.js
62:46-53 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
./node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/loaders.js
8:17-34 Critical dependency: the request of a dependency is an expression
Run Code Online (Sandbox Code Playgroud)
当在浏览器中访问应用程序时,我得到
TypeError: __WEBPACK_IMPORTED_MODULE_1_styled_components_macro__.a.div is not a function
Run Code Online (Sandbox Code Playgroud) 我可以用接口和类型别名做大部分相同的事情。
例如
类可以实现接口或类型别名
interface Shape {
area(): number;
}
type Perimeter = {
perimeter(): number;
}
class Rectangle implements Shape, Perimeter {
}
Run Code Online (Sandbox Code Playgroud)
它们可以组合起来创建新的接口/类型别名
interface A {
a: string;
}
type B = {
b: string
}
interface C extends B {
c: string;
}
type D = A & {
d: string;
}
Run Code Online (Sandbox Code Playgroud)
接口和类型注释之间是否存在语义差异?
:声明类型的语法有什么区别
let serverMessage: UServerMessage = message;
Run Code Online (Sandbox Code Playgroud)
和as语法
let serverMessage = message as UServerMessage;
Run Code Online (Sandbox Code Playgroud)
它们似乎至少在这个例子中产生了相同的结果
我很难理解何时使用jest.fn,jest.mock或jest.spyOn。
这似乎是总结:
fn模拟函数时使用mock模拟模块时使用spyOn当您想要观察真实模块或函数的情况时使用但我看到这样的代码示例:
test('creates Contract on correct date', () => {
const NOW = '2019-05-03T08:00:00.000Z';
const mockDateNow = jest
.spyOn(global.Date, 'now')
.mockImplementation(() => new Date(NOW).getTime());
...stuff...
expect(result).toEqual(NOW);
mockDateNow.mockRestore();
});
Run Code Online (Sandbox Code Playgroud)
与下面更简单的代码相比,它有什么优点吗(如果我犯了任何语法错误,请原谅)。
test('creates Contract on correct date', () => {
const NOW = '2019-05-03T08:00:00.000Z';
const mockDateNow = global.Date.now.mockImplementation(() => new Date(NOW).getTime());
...stuff...
expect(result).toEqual(NOW);
mockDateNow.mockRestore();
});
Run Code Online (Sandbox Code Playgroud)
所以,
为什么spyOn用于模拟单个函数,然后获得模拟实现?我对何时使用fn, mock,的理解是否spyOn错误?请告诉我我错在哪里。
我正在考虑以下几点:
if Range("A1").NumberFormat = "@" AND test to show that the content of A1 can be a number Then
Debug.Print("A1 is a number stored as text")
end if
Run Code Online (Sandbox Code Playgroud) 在我的代码中的任何给定行上,我可以将Debug.Print()与其他命令一起使用,以找出如果我的代码在该行上遇到错误会发生什么?
我可以使用Debug.Print中的任何语句来查明当前的错误处理过程是转到0,恢复下一个还是转到某个标签?
我想象的是:
Debug.Print(OnErrorMode)
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来确定一个特定的代码行是否会出现错误GoTo 0(停止并显示错误),Resume Next(跳过该行)或者GoTo Label(跳转到Label),因为On Error我的代码中某处可能存在我无法找到的地方.那可能吗?
我读到同一个测试文件中的笑话测试是按顺序执行的。我还读到,在编写涉及回调的测试时,done应该使用参数。
但是,当使用我在下面的代码中使用的异步/等待语法的承诺时,我可以指望测试按顺序运行和解析吗?
import Client from '../Client';
import { Project } from '../Client/types/client-response';
let client: Client;
beforeAll(async () => {
jest.setTimeout(10000);
client = new Client({ host: 'ws://127.0.0.1', port: 8080 , logger: () => {}});
await client.connect();
})
describe('Create, save and open project', () => {
let project: Project;
let filename: string;
beforeAll(async () => {
// Close project
let project = await client.getActiveProject();
if (project) {
let success = await client.projectClose(project.id, true);
expect(success).toBe(true);
}
})
test('createProject', async () => …Run Code Online (Sandbox Code Playgroud) excel ×3
typescript ×3
vba ×3
excel-vba ×2
jestjs ×2
async-await ×1
c# ×1
css ×1
javascript ×1
jquery ×1
unit-testing ×1