cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • JMP will suspend normal business operations for our Winter Holiday beginning on Wednesday, Dec. 24, 2025, at 5:00 p.m. ET (2:00 p.m. ET for JMP Accounts Receivable).
    Regular business hours will resume at 9:00 a.m. EST on Friday, Jan. 2, 2026.
  • We’re retiring the File Exchange at the end of this year. The JMP Marketplace is now your destination for add-ins and extensions.

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-778579%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EPNG%20%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%20%E3%83%91%E3%82%B9%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%81%E5%90%8D%E5%89%8D%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-778579%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%82%E7%B5%90%E6%9E%9C%E3%81%AE%20PNG%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%20%E3%83%91%E3%82%B9%E3%82%92%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%8C%E9%81%B8%E6%8A%9E%E3%81%97%E3%80%81PNG%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E5%90%8D%E5%89%8D%E3%82%92%E4%BB%98%E3%81%91%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%80%81%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E3%83%A1%E3%82%A4%E3%83%B3%20%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%95%E3%82%8C%E3%82%8B%E3%82%B5%E3%83%96%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%A7%E3%81%99%E3%80%82%E5%95%8F%E9%A1%8C%E3%81%AF%E3%80%81%E3%83%91%E3%82%B9%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%A6%20PNG%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E5%90%8D%E5%89%8D%E3%82%92%E4%BB%98%E3%81%91%E3%81%9F%E5%BE%8C%E3%80%81%E3%80%8C%E5%90%8D%E5%89%8D%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%80%81PNG%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AF%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%9F%E3%83%91%E3%82%B9%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E5%90%8D%E5%89%8D%E4%BB%98%E3%81%91%E3%81%8C%E3%81%86%E3%81%BE%E3%81%8F%E3%81%84%E3%81%8B%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%93%E3%82%8C%E3%82%92%E4%BF%AE%E6%AD%A3%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CP%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%EF%BC%81%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3EMyGraph%20%3D%20Function(%7ByCol%7D%2C%0A%20%20%20%20%7Bdefault%20local%7D%2C%0A%20%20%20%20vars%20%3D%20Eval%20Expr(Variables(%0A%20%20%20%20%20%20%20%20X(%3ATest%20Stage)%2C%0A%20%20%20%20%20%20%20%20Group%20X(%3ALot)%0A%20%20%20%20))%3B%0A%0A%20%20%20%20pts%20%3D%20Expr(Box%20Plot(X))%3B%0A%0A%20%20%20%20For(j%20%3D%201%2C%20j%20%26lt%3B%3D%20Min(8%2C%20N%20Items(yCol))%2C%20j%2B%2B%2C%0A%20%20%20%20%20%20%20%20Insert%20Into(vars%2C%20Eval%20Expr(Y(Expr(yCol%5Bj%5D)%2C%20Position(1))))%3B%0A%20%20%20%20)%3B%0A%0A%20%20%20%20gb%20%3D%20Expr(%0A%20%20%20%20%20%20%20%20Graph%20Builder(%0A%20%20%20%20%20%20%20%20%20%20%20%20Size(1255%2C%20981)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20Show%20Control%20Panel(0)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20Elements(Box%20Plot(X%2C%20Y(1)%2C%20Y(2)%2C%20Y(3)%2C%20Y(4)%2C%20Y(5)%2C%20Y(6)%2C%20Y(7)%2C%20Y(8)))%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20Local%20Data%20Filter(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Add%20Filter(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20columns(%3ATest%20Stage%2C%20%3ASublot%2C%20%3ATemperature%2C%20%3ASoft%20Bin%2C%20%3ASerial%20Id)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Display(%3ATest%20Stage%2C%20N%20Items(4))%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Display(%3ASoft%20Bin%2C%20N%20Items(15))%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20)%0A%20%20%20%20)%3B%0A%20%20%20%20Insert%20Into(gb%2C%20Name%20Expr(vars))%3B%0A%0A%20%20%20%20%2F%2F%20Prompt%20the%20user%20to%20select%20a%20directory%20to%20save%20the%20PNG%0A%20%20%20%20dir_path%20%3D%20Pick%20Directory(%22Select%20Directory%20to%20Save%20PNG%22)%3B%0A%0A%20%20%20%20%2F%2F%20Check%20if%20the%20user%20selected%20a%20directory%0A%20%20%20%20If(Is%20Empty(dir_path)%20%3D%3D%200%2C%0A%20%20%20%20%20%20%20%20%2F%2F%20Ask%20for%20the%20file%20name%20using%20New%20Window%0A%20%20%20%20%20%20%20%20nw%20%3D%20New%20Window(%22Save%20File%22%2C%20%26lt%3B%3CMODAL%3E%3C%2FMODAL%3E%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CCODE%20class%3D%22%20language-jsl%22%3E%3CLINGO-LABS%20id%3D%22lingo-labs-778579%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3E%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%A8%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%82%BA%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3C%2FCODE%3E%3CLINGO-SUB%20id%3D%22lingo-sub-778592%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20PNG%20%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%20%E3%83%91%E3%82%B9%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%81%E5%90%8D%E5%89%8D%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-778592%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Efile_name%20%E3%81%AB%E6%83%B3%E5%AE%9A%E3%81%A9%E3%81%8A%E3%82%8A%E3%81%AE%E5%86%85%E5%AE%B9%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8B%3F%20%E3%81%8A%E3%81%9D%E3%82%89%E3%81%8F%E3%80%81%26lt%3B%26lt%3B%20return%20results%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%8B%E3%80%81%26lt%3B%26lt%3B%20get%20text%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20%5BOK%5D%20%E3%81%8C%E6%8A%BC%E3%81%95%E3%82%8C%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AB%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E7%B7%A8%E9%9B%86%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%8B%E3%82%89%E5%80%A4%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
ARETI052
Level III

Not a Name Error when after selecting file path for saving PNG

Hi, I am trying to modify my code so that the user can selected which file path to save the result PNG files as well as naming the PNG files. The code is a subscript that will be called by the main script. My problem is that after I select the path and name the PNG file, I get a "Not a Name" error, the PNG file will be saved to the path I selected but the naming won't go through. How can I fix this?

Thanks!

MyGraph = Function({yCol},
    {default local},
    vars = Eval Expr(Variables(
        X(:Test Stage),
        Group X(:Lot)
    ));

    pts = Expr(Box Plot(X));

    For(j = 1, j <= Min(8, N Items(yCol)), j++,
        Insert Into(vars, Eval Expr(Y(Expr(yCol[j]), Position(1))));
    );

    gb = Expr(
        Graph Builder(
            Size(1255, 981),
            Show Control Panel(0),
            Elements(Box Plot(X, Y(1), Y(2), Y(3), Y(4), Y(5), Y(6), Y(7), Y(8))),
            Local Data Filter(
                Add Filter(
                    columns(:Test Stage, :Sublot, :Temperature, :Soft Bin, :Serial Id),
                    Display(:Test Stage, N Items(4)),
                    Display(:Soft Bin, N Items(15))
                )
            )
        )
    );
    Insert Into(gb, Name Expr(vars));

    // Prompt the user to select a directory to save the PNG
    dir_path = Pick Directory("Select Directory to Save PNG");

    // Check if the user selected a directory
    If(Is Empty(dir_path) == 0,
        // Ask for the file name using New Window
        nw = New Window("Save File", <<Modal,
            VListBox(
                Text Box("Enter filename:"),
                file_name_box = Text Edit Box("box_FT1vsFT2")
            ),
            Button Box("OK", Dialog(0))
        );

        // Extract the file name from the text edit box
        file_name = Char(Eval(file_name_box));  // Convert to string explicitly

        // Construct the full path
        png_path = dir_path || "/" || file_name || ".png";

        // Save the picture
        gb << Save Picture(png_path, "png");
    ,
        Caption("Save operation was canceled.")
    );
);

dt = Current Data Table();

New Window("My report",
    VListBox(
        MyGraph(::yColName)
    )
);
1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: Not a Name Error when after selecting file path for saving PNG

Have you verified that file_name contains what you think it does? You most likely want to either use << return results or get the value from text edit box using << get text when OK is pressed.

-Jarmo

View solution in original post

1 REPLY 1
jthi
Super User

Re: Not a Name Error when after selecting file path for saving PNG

Have you verified that file_name contains what you think it does? You most likely want to either use << return results or get the value from text edit box using << get text when OK is pressed.

-Jarmo

Recommended Articles