spreadsheet_ods_formula/
ext.rs

1//!
2//! External access
3//!
4
5use crate::{Any, FnNumber4, Text};
6
7pub use crate::generated::ext::*;
8
9/// Parameter for DDE()
10#[derive(Debug)]
11pub enum DDEConversion {
12    NumberLocalized,
13    NumberEnUS,
14}
15
16impl Any for DDEConversion {
17    #[inline]
18    fn formula(&self, buf: &mut String) {
19        buf.push_str(match self {
20            DDEConversion::NumberLocalized => "0",
21            DDEConversion::NumberEnUS => "1",
22        });
23    }
24}
25
26///  Returns data from a DDE request.
27#[inline]
28pub fn dde_conv<A: Text, B: Text, C: Text>(
29    server: A,
30    topic: B,
31    item: C,
32    mode: DDEConversion,
33) -> FnNumber4<A, B, C, DDEConversion> {
34    FnNumber4("DDE", server, topic, item, mode)
35}
36
37///  Returns data from a DDE request.
38#[inline]
39pub fn dde_text<A: Text, B: Text, C: Text>(
40    server: A,
41    topic: B,
42    item: C,
43) -> FnNumber4<A, B, C, &'static str> {
44    FnNumber4("DDE", server, topic, item, "2")
45}